TypeScript学习笔记 函数 2019/12/01 TypeScript JavaScript TypeScript 学习笔记 函数定义函数// 函数定义function add1(x: number, y: number) { return x + y} 定义函数类型// 函数类型的定义,没有具体的实现let add2: (x: number, y: number) => numbertype add3 = (x: number, y: number) => numberinterface add4 { (x: number, y: number): number} // add2使用方法add2 = (x, y) => { return x + y};// 10console.log(add2(2, 8));// add3/add4使用方法let add5: add3 = (x, y) => { return x + y}console.log(add5(2, 8)); 函数参数的要求参数个数一一对应 在JS中对函数参数的个数是没有要求的。但是在TS中形参和实参必须一一对应。 function add1(x: number, y: number) { return x + y}// 正确使用console.log(add1(2, 8));// 错误使用console.log(add1(2, 8, 9)); 可选参数// y 是可选参数,必选参数不可位于可选参数之后function add2(x: number, y?: number) { return y ? x + y : x}// 2console.log(add2(2)); 参数默认值// y参数默认值是3function add3(x: number, y = 3, z: number) { return x + y + z}// 必选参数前默认参数是不可以省略的,用undefined代替// 14console.log(add3(2, undefined, 9)); 剩余参数function add5(x: number, ...result: number[]) { return x + result.reduce((pre, cru) => pre + cru)}// 28console.log(add5(1, 2, 3, 4, 5, 6, 7)) 函数重载// 这里是声明function add4(...value: number[]): numberfunction add4(...value: string[]): string// 这里是实现function add4(...value: any[]) { let first = value[0]; if (typeof first === 'string') { return value.join(',') } if (typeof first === 'number') { return value.reduce((pre, cur) => pre + cur) }}// 3console.log(add4(1, 2));// 1,2console.log(add4('1', '2')); TypeScript学习笔记 类继承和成员修饰符 W4J音乐热评一Puppeteer爬虫初体验 本文作者:Ihuzb 永久链接:https://ihuzb.github.io/2019/12/01/QVI855IGBf/ 版权声明:本文首发于Ihuzb的博客,转载请注明出处!