1:默認參數(傳入值會覆蓋默認參數,不傳值也行)es6
function getinfo(name:string,age:number=20):string{ return `${name}---${age}` } console.log(getinfo("張三"));//打印出:張三 20 console.log(getinfo("張三",30));//打印出:張三 30
2:可選參數(能夠傳可選的值也能夠不用傳,可是可選的參數必須放在參數列表的最後)數組
function getinfo1(name:string,age?:number):string{ if(age){ return `${name}---${age}` }else{ return `${name}---年齡保密` } } console.log(getinfo1("張三"));//打印出:張三 年齡保密 console.log(getinfo1("張三",30));//打印出:張三 30
3:剩餘參數函數
先看一個基本的應用es5
function sum(a:number,b:number,c:number,d:number):number{ return a+b+c+d; } console.log(sum(1,2,3,4));//10
上面的代碼就能夠改寫成剩餘參數的形式,利用es6的三點運算符(至關於把參數賦值給一個數組,而後用循環遍歷這個數組)spa
function sum1(...result:number[]):number{ var sum=0; for(let i=0;i<result.length;i++){ sum+=result[i]; } return sum; } console.log(sum1(1,2,3,4,5));//15 console.log(sum1(1,2,3,4,5,6));//21
或者(這樣的話就是把你傳進來的第一個參數賦值給a,後面的放進數組)code
function sum1(a:number,...result:number[]):number{ var sum=a; for(let i=0;i<result.length;i++){ sum+=result[i]; } return sum; } console.log(sum1(1,2,3,4,5));//15 console.log(sum1(1,2,3,4,5,6));//21
4.箭頭函數blog
//es5正常寫法 setTimeout(function(){ alert("run"); },3000) //es6箭頭函數的寫法 setTimeout(()=>{ alert("run"); },3000)