TypeScript 中文文档
一 ts 中函数的定义
function getInfo1 (name:string,age:number):string{return ` 学生 ${name}往年 ${age}岁 `
}
let getInfo2 = function(name:string,age:number):string{return ` 学生 ${name}往年 ${age}岁 `
}
在 ts 中一个残缺的函数类型包含 参数类型 和 返回值类型 , 如果函数没有返回值: 函数的返回值应该设置为 void。
二 可选参数
可选参数必须位于必选参数的前面。
function getStudent(name:string, id?:string) : string{if(id){return ` 学生 ${name}的 id 是: ${id}`;
}else{return ` 学生 ${name}没有 id`;
}
}
console.log(getStudent('小红','wyd12d0xs2lkh') ); // 学生小红的 id 是: wyd12d0xs2lkh
console.log(getStudent('小刚') ); // 学生小刚没有 id
三 默认参数
function getFullName(firstName:string, lastName:string = '小明') :string{return firstName + lastName;}
console.log(getFullName('张','良') ); // 张良
console.log(getFullName('张') ); // 张小明
如果默认参数在必选参数后面,那么只有传入 undefined 时才会获得默认值
function getFullName(lastName:string = '小明',firstName:string) :string{return firstName + lastName;}
console.log(getFullName('小花','李') ); // 李小花
console.log(getFullName( undefined,'张') ); // 张小明
四 残余参数
function sum(...result:Array<number>) :number{console.log( result); // [1, 2, 3, 4, 5]
return result.reduce((pre:number,next:number):number => {return pre + next;});
}
sum(1,2,3,4,5); // 15
五 函数的重载
函数重载的定义: 在 ts 中通过为同一个函数 提供多个函数类型定义 实现多种性能的目标。
function setInfo(title:string):string;
function setInfo(num:number):number;
function setInfo(value:any):any{if(typeof value === 'string'){return ` 这是一个字符串:${value}`
}else{return ` 这是一个数字:${value}`
}
}
setInfo(10); // 这是一个数字:10
setInfo('张三'); // 这是一个字符串:张三