Typescript 函数
为函数定义类型
function add(x:number,y:number):number{
return x + y
}
let myAdd = function(x:number,y:number):number{return x + y}
可选参数和默认参数
-
TS所有写明的形参都必须传值,并且不允许多传,但是可以传入null和undefined
在JS里面,所有的参数都是可传可不传,不传就是undefined,但是ts不行,可选参数需要通过?
标识,并且可选参数必须在必填参数后面声明
-
TS中的默认参数可以直接在后面添加
=
号标识,并且传入默认值 -
剩余参数:JS中所有的参数会存在一个叫argument的类数组当中,而ts如果传值的时候不定义剩余参数,那么多传一个参数都会报错,实现是
...
表示,将后面所有剩余参数接受并且传入类数组
this
-
js中的this发生在函数调用时,并指向当前的执行上下文,但是箭头函数的this,会指向函数声明区域的this上下文
-
在ts中,this可以当作参数传入函数,同时也可以使用类型指定,表示在当前函数内部作用域 中所有的this的类型仍然受限制,避免了this的类型为any的情况
-
this写在返回值里面
函数的重载
在JS中会通过条件判断,判断参数的类型进行不同的逻辑处理,实现函数的重载
由于TS是一种强类型的设计理念,所以在各种条件判断之前,必须多多种情况的函数条件进行多次声明
function pickCard(x:string):string;
function pickCard(x:number):string;
function pickCard(x:any):string{
if(typeof x =='string'){
return x
}else if (typeof x == 'number'){
return x+''
}
}
这样实现会在函数调用时进行严格的类型检查,同时通过判断,走不同的逻辑代码,其他类型调用该函数将会报错
网友评论