函数定义类型:如果函数没有任何返回值你也必须指定返回类型为void,不能不写
function add(x:number,y:number):number{ //参数类型 以及函数返回值类型
return x+y
}
完整:
let myAdd:(x:number,y:number)=>number=function(x:number,y:number):number{return x+y}
可选参数?和默认参数
function fullName(fristName?:string,lastName:string,name='name'){}
fristName可选
lastName必选
name有默认值
剩余参数 … 扩展运算符
function fun(name:string,...all:string[]){
return name + all.join(' ')
}
this 箭头函数:需要参加参数this,否则this类型为any
interface card{
a:string;
b:number
}
interface deck{
as:string[];
bs:number[];
fun(this.deck):()=>card
}
let obj:deck{
as:['a','b','c'];
bs:Array(5),
func:function(this.deck){
retrun ()=>{
return {a:this.as[1],b:this.bs[2]}
}
}
}
let res = deck.func()
let ress = res
console.log(ress.a,ress.b)