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是: wyd12d0xs2lkhconsole.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); // 这是一个数字:10setInfo('张三'); // 这是一个字符串:张三