课程名称:2小时极速入门 TypeScript
课程章节: 第3章 TypeScript 基础 3-10 函数类型
主讲老师:阿莱克斯刘
课程内容:
今天学习的内容是 Typescript 的函数类型。
函数的声明方式
在 JS 中声明函数的常用方式有三种:
1.使用 function
关键字声明:
function log(message) {
console.log(message)
}
2.使用 let
、const
关键字声明一个函数表达式:
const log = function (message) {
console.log(message)
}
3.使用箭头函数:
const add = (a, b) => a + b
在 TS 中声明函数的方法和 JS 中一致,但是需要对参数和返回加上类型限制。比如 add
函数:
const add = (a: number, b: number) : number => a + b;
let res = add(10, 20);
如果实参类型和形参类型不一致,编辑器就会报错:
let res = add(10, '20'); // Argument of type 'string' is not assignable to parameter of type 'number'.
string
类型的实参不能赋值带 number
类型的参数。
并且,函数调用时实参的个数必须和形参保持一致:
let res = add(10); // 报错:An argument for 'b' was not provided.
参数 b
没有提供。
TS 也支持可选参数,需要在定义函数时,将可选的参数使用 ?
表示:
const log = (code: number, message?: string) => {
console.log(code, message)
}
log(200, 'Ok'); // 200 Ok
log(404); // 400 undefined
TS 函数也支持参数默认值:
const log = (code: number=200, message: string="Ok") => {
console.log(code, message)
}
log(); // 200 Ok
课程收获
这节课学习了 Typescript
的函数类型,和 JS 中使用的区别就是注意在定义函数签名时需要给参数和返回值确定类型。