函数
函数是由参数,方法体,返回值构成。(无返回值时使用viod)
1.1函数的定义
function ${name}(): ${value}{
//TODO
}
a.命名定义
function addNum(x:number,y:number):number{
return x+y;
}
b.匿名定义
let result=function(x:number,y:number){
return x+y;
}
c.箭头函数
let addNum(x:number,y:number) => number
=function(x:number,y:number){
return x+y;
}
//简写如下
let addNum(x,y)=> x + y
1.2 可选参数
在函数中不是每个参数都为必填,参数为可选或者有默认值时可以不传入参数,如下
function getUserInfo(name:string,sex?:string,age:number=18){
if(sex){
console.log('sex:${sex}')
}
console.log('name:${name},age:${age}');
}
getUserInfo('Mr.Li');
getUserInfo('Mr.Li','男');
getUserInfo('Mr.Li','男',24);
必选参数必须写在可选参数之前,否则编译会报错。
1.3剩余参数
多个不确定参数传入为剩余参数,剩余参数必须为最后一个参数使用否则会报错,如下
function getUserInfo(name:string,age:number=18,...more:string[]){
//TODO
}
泛型
2.1 泛型基本使用
funtion doSome<T>(data:T):T{
return DATA;
}
//使用
doSome<string>('this is a message')
2.2接口中使用泛型
interface Search {
<T,Y>(name:T,age:Y):T
}
let fn:Search = function <T, Y>(name: T, id:Y):T {
console.log(name, id)
return name;
}
fn('li',11);