TypeScript返回值类型

在函数形式参数列表之后,可以使用类型注解为函数添加返回值类型。例如,下例中定义了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;
}

酷客网相关文章:

赞(0)

评论 抢沙发

评论前必须登录!