在 TypeScript 中,您可以将函数注释为返回void:
function fn1(): void {
// OK
}
function fn2(): void {
// Error
return 3;
}
Run Code Online (Sandbox Code Playgroud)
您还可以注释要返回的函数undefined:
function fn3(): undefined {
// OK
return;
}
function fn4(): undefined {
// Error
return 3;
}
Run Code Online (Sandbox Code Playgroud)
所以看起来如果你调用一个返回的函数void,你总是会得到值undefined。但是你不能写这个代码:
function fn5(): void {
}
let u: undefined = fn5(); // Error
Run Code Online (Sandbox Code Playgroud)
为什么不void只是 的别名undefined?它真的需要存在吗?