void
void
表示一个空类型,表示函数没有返回值或表达式没有返回值。它通常用于函数的返回类型注解或变量的类型注解。
- 函数声明为
void
类型时,表示函数执行完毕后没有返回值。
- 变量声明为
void
类型时,表示该变量没有具体的值,只能赋值为 undefined
或 null
。
function logMessage(): void {
console.log("Hello, world!");
}
let result: void = undefined; // 可以显式赋值为 undefined
never
never
表示永远不会发生的类型。它通常用于表示函数永远不会返回或出现无法到达的终点,或者在类型系统中用于处理不可达代码。
- 函数声明为
never
类型时,表示函数永远不会正常返回,可能是因为抛出异常或进入无限循环。
- 变量声明为
never
类型时,表示该变量的值永远无法确定或到达。
function throwError(message: string): never {
throw new Error(message);
}
function infiniteLoop(): never {
while (true) {
// 无限循环
}
}
let value: never; // 变量声明为 never 类型
value = throwError("Something went wrong"); // 可以赋值为一个抛出异常的函数
总结:
- `void` 表示没有返回值或没有具体值的类型。
- `never` 表示永远不会发生的类型,用于表示函数永远不会返回或代码不可达。