文档地址:
https://tslang.cn/docs/handbook/basic-types.html
在前面我们已经学过了『箭头函数』,我们发现在函数的参数可以使用数据类型。
let showMe = (name:string,age:number)=>{
return "我的名字是:"+name+",我的年龄是:"+age;
}
上面这个函数是2个参数,且在调用的时候必须传递2个参数。
如果我们需要第二个参数age
可选的怎么办?
let showMe = (name:string,age?:number):string=>{
return "我的名字是:"+name+",我的年龄是:"+age;
}
注意?号
,这个代表age
这个参数的可选的。
书写完整函数类型
官网说明:
https://tslang.cn/docs/handbook/functions.html
我们通过实际案列来讲解一下它的作用。
//我们定义一个用于ajax函数
function ajax(callback){
setTimeout(()=>{
callback();
},1000);
}
可以看出,我们需要的参数是一个回调函数
,所以在调用ajax()
这个函数的时候是需要传递一个Function的。
ajax(function () {
console.log("my nan is jack");
})
但是问题就在于:我们不传递Function也没有报错(执行才会报错)
IDE并没有提示我们ajax("hello");是错误的用法
。
那我们按照TypeScript的方法来,重新定义改造一下ajax()
:
function ajax(callback:()=>void){
setTimeout(()=>{
callback();
},1000);
}
指明了callback参数
是一个函数。
编辑器已经提示我们了。从这里我们应该可以看出:TypeScript和原生的JavaScript的好处了。