函数返回值类型
function getSum(a: number, b: number): number {
return a + b;
}
在参数声明后面的“: number”就是指明了函数返回值的类型。理论上是可以不用添加的,因为TypeScript可以进行类型推断,从而推断出该函数的返回值类型是number。
但是,在开发中还是加上的好,可以避免一些因开发过程中的错误而导致返回值类型有误的问题,例如:
function getSum(a: number, b: number) {
return a + b + '';
}
上面的函数最终返回的类型是一个字符串,而不是预期中的数字。而因为我们没有指定返回值类型,从而导致这一错误可能并没有在开发过程中被发现。
never类型
TypeScript中有一个never类型,简单来说就是这个类型代表了这个函数是不能执行完的,例如:
fucntion err(): never {
throw new Error();
console.log('hello');
}
上面这个方法是不能执行完的,抛出错误之后,后面的代码都不会被执行。还有一种情况,就是死循环的情况也是never类型的
function demo() {
while(true) {}
}
解构赋值
函数参数的解构赋值是一个常见操作,而在TypeScript中,函数参数的解构赋值还需要考虑类型注解的问题,写法如下:
function test({x, y}: {x: number, y: number}) {}