- 引用
- 在 js 中,
void
是一个运算符,void expression
,用于返回 undefined。 - 在 ts 中,
void
表示一个空类型,没有实际含义。 - 变量的类型为
void
类型,只能赋undefined
、null
const x1: void = null
const x2: void = undefined
const x1: void = null
需要关闭“严格的 null 类型检查” strictNullChecks
后才被允许,否则会报错。由于 strictNullChecks
的默认值就是 false
,所以默认情况ixa,void
类型的变量是可以被赋值为 null
值的。
- 在 ts 中,void 最常见的用法就是用来约束一个函数的返回值,表示该函数返回的是一个没有意义的内容。
// 1. 可能没有 return 语句
function f1(): void { }
// 2. 可能 return 空
function f2(): void { return }
// 3. 可能 return 一个 void expression
function f3(): void { return void(0) }
// 4. 可能显示的 return 一个 undefined
function f4(): void { return undefined }
// 5. 可能显示的 return 一个 null(需要关闭 strictNullChecks)
function f5(): void { return null }
// 。。。
如果一个函数的类型约束信息中,返回值被约束为 void
类型,那么你可以直接当做这个函数是没有返回值的即可。而无需关注它到底有没有 return,以及 return 的是啥。