ts基礎 - 函數定義


二.ts函數定義

1.函數聲明法:

funtion a():number{
   return 123
}
funtion a():string{
   return '123'
}
funtion a():boolean{
   return true
}
funtion a():void{
   
}

funtion a():boolean{
   return 123  //報錯 類型和返回不一樣 }

2.匿名函數法:

var a = function():number{
  return 123
}

3.定義方法傳參

function a(str:string,num:number):string{
  return `${str} --- ${num}`
}
a('我今年',20)  //我今年 --- 20

4.可選參數法:參數可傳可不傳,注意可選參數最好放在最后面

function a(str:string,num?:number):string{
  if(num){
     return `${str} --- ${num}`
  }else {
     return `${str} --- 無num`
  }
}
a('我今年',20)  //我今年 --- 20
a('我今年')  //我今年 --- 無num

5.默認參數

function a(str:string,num:number = 20):string{
  return `${str} --- ${num}`
}

a('我今年')  //我今年 --- 20
a('我今年',30)  //我今年 --- 30

6.剩余參數:不確定傳多少個參數

function sum1(a:number,b:number,c:number,c:number):number{
  return a+b+c+d
}
sum1(1,2,3,4)  //10

function sum(...all:number[]):number{
  let su = 0;
  for(let i = 0;a<all.length;a++){
    su+=all[i]
  }
  return su
}

function sum(a...all:number[]):number{
  let su = a;
  for(let i = 0;i<all.length;i++){
    su+=all[i]
  }
  return su
}

7.函數重載:通過為同一個函數提供多個函數類型定義來實現多個功能的目的

function c(name:string):string;
function c(age:number):number;

function c(s:any):any{
   if(typeof s === string){
      return `1 --- ${s}`
   }else{
      return `2 --- ${s}`
}
};
c(
333) // 2 --- 333
c('q') // 1 --- q c(true) // 報錯

說明:c函數雖然是any類型,但是上面c定義了string和number,就不能完全為any類型,只能是定義好的類型

8.箭頭函數: this指向上下文

setTimeout(()=>{
  console.log('run')
},1000)

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM