-
为函数定义类型
// 函数可以定义两种类型 ,一 就是函数参数的类型, 二 是 函数返回值的类型 // 因为函数的参数是形参,所以不用在意参数的名称是否是正确的,只要对应位置的参数的类型正确就行 function add (x: number, y: number): boolean { return x > y } -
可选参数和默认参数
// TS里 每个函数参数都是必须的,在JS中,每个参数都是可以选的。 // TS 传递的参数必须和,函数接收的参数个数是一致的, 不能多不能少,前提没有可选参数 // TS 为了和JS 一致,给函数参数加入了 可选的标记,? 问号 如果参数,是带问号的,那么这个参数可传可不传 function buildName(firstName: string, lastName?: string):string { return `${firstName} - ${lastName}` } let result1 = buildName("Bob"); // works correctly now let result2 = buildName("Bob", "Adams", "Sr."); // error, too many parameters let result3 = buildName("Bob", "Adams"); // ah, just right // 默认参数 参数带上默认值, 一般的参数默认值是undefined conf = 10 默认值就是10 这个参数此时也就是可传可不传的 function add(num: number, conf = 10): boolean{ return num > conf } -
剩余参数
// 必要参数,默认参数和可选参数有个共同点:它们表示某一个参数。 有时,你想同时操作多个参数,或者你并不知道会有多少参数传递进来。 在TS 里 或者 ES6+ 可以使用 ...参数名称 来表示剩下的所有参数 // 剩下的参数 会以数组的方式展示 function buildName(firstName: string, ...restOfName: string[]){ return firstName + restOfName.join(""); }