TypeScript入门与实战
上QQ阅读APP看书,第一时间看更新

5.3.7 void

void类型表示某个值不存在,该类型用作函数的返回值类型。若一个函数没有返回值,那么该函数的返回值类型为void类型。除了将void类型作为函数返回值类型外,在其他地方使用void类型是无意义的。关于函数类型的详细介绍请参考5.12节。

void类型使用void关键字来表示。示例如下:


01 function log(message: string): void {
02     console.log(message);
03 }

此例中,log函数的参数类型为string,返回值类型为void,表示该函数“没有”返回值。

当启用了“--strictNullChecks”编译选项时,只允许将undefined值赋值给void类型。示例如下:


01 /**
02  * --strictNullChecks=true
03  */
04 
05 // 正确
06 function foo(): void {
07     return undefined;
08 }
09 
10 // 编译错误!类型 'null' 不能赋值给类型 'void'
11 function bar(): void {
12     return null;
13 }

如果没有启用“--strictNullChecks”编译选项,那么允许将undefined值和null值赋值给void类型。示例如下:


01 /**
02  * --strictNullChecks=false
03  */
04 
05 // 正确
06 function foo(): void {
07     return undefined;
08 }
09 
10 // 正确
11 function bar(): void {
12     return null;
13 }