在函数形式参数列表之后,可以使用类型注解为函数添加返回值类型。例如,下例中定义了add函数的返回值类型为number类型:
function add(x: number, y: number): number {
// ~~~~~~
// 函数返回值类型
return x + y;
}
在绝大多数情况下,TypeScript能够根据函数体内的return
语句等自动推断出返回值类型,因此我们也可以省略返回值类型。示例如下:
function add(x: number, y: number) {
return x + y;
}
此例中,我们没有为add函数添加返回值类型,但是TypeScript能够根据表达式“x + y”
的类型推断出add函数的返回值类型为number类型。
在TypeScript的原始类型里有一个特殊的空类型void
,该类型唯一有意义的使用场景就是作为函数的返回值类型。如果一个函数的返回值类型为void,那么该函数只能返回undefined值。这意味着函数明确地返回了一个undefined值,或者函数没有调用return语句,在这种情况下函数默认返回undefined值。示例如下:
// f0和f1是正确的使用场景
function f0(): void {
return undefined;
}
function f1(): void {}
// f2, f3和f4是错误的使用场景
function f2(): void {
return false;
}
function f3(): void {
return 0;
}
function f4(): void {
return '';
}
如果没有启用“--strictNullChecks”
编译选项,那么void返回值类型也允许返回null
值。示例如下:
/**
* --strictNullChecks=false
*/
function f0(): void {
return null;
}
酷客网相关文章:
评论前必须登录!
注册