ts中never和viod的区别
文章类型:TypeScript
发布者:hp
发布时间:2023-05-27
1:never
表示函数永远不会返回,或者表达式永远不会产生结果,
通常用于表示抛出异常或导致无限循环的函数
如果函数的返回类型被推断为 never,那么该函数的所有分支都必须以抛出异常或无限循环的方式终止
function throwError(message: string): never {
throw new Error(message);
}
function infiniteLoop(): never {
while (true) {
// 无限循环
}
}
2:void
表示函数没有返回值,或者表达式没有结果,
类似于 js中的 undefined,表示没有明确的值
如果函数声明返回类型为 void,可以省略返回语句,或者使用 return; 显式返回 undefined
function logMessage(message: string): void {
console.log(message);
}
function doSomething(): void {
// 执行一些操作,但没有返回值
}
1:void 表示函数没有返回值或表达式没有结果,类似于 undefined
2:never 表示函数永远不会返回或表达式永远不会产生结果,常用于表示异常或无限循环