迹忆客 专注技术分享

当前位置:主页 > 学无止境 > 编程语言 > TypeScript >

TypeScript 中的 never 是什么

作者:迹忆客 最近更新:2022/08/31 浏览次数:

never 类型在 TypeScript 中很少使用,只有当函数永远不会到达 return 语句时。

这主要有两个原因:

  • 函数抛出错误
  • 函数无限循环

让我们看一个最常见的用例示例——函数抛出错误,因此它永远不会到达 return 语句:

function throwError(message: string): never {
  throw new Error(message);
}

不要与 void 类型混淆:

function logger(message: string): void {
  console.log(message);
}

不同之处在于,void 用于不返回任何内容的函数,从技术上讲,它可以返回 nullundefined。 如果我们不小心从返回 void 的函数中返回了某些东西,我们会收到一条错误消息。

然而,对于 never 类型,函数永远不会返回任何内容,因此我们用 never 注释它,表示我们永远不会到达该函数的末尾。 我们永远不会完全执行该功能。

很少有函数应该使用 never 作为返回值来输入。 例如,如果我们只在某些时候抛出错误,我们不应该用 never 注释函数:

function sometimesThrowError(message: string): number {
  if (!message) {
    throw new Error(message);
  }

  return 42;
}

在上面的场景中,我们仍然应该将函数注释为返回一个 number,而不是 never 注释,因为有一个场景是函数到达它的结尾并返回。

我们只用 never 类型注释一个函数,当它永远不会到达它的结尾时。 如果它只可能抛出一个错误,我们不会用 never 注释它。

转载请发邮件至 1244347461@qq.com 进行申请,经作者同意之后,转载请以链接形式注明出处

本文地址:

相关文章

在 TypeScript 中返回一个 Promise

发布时间:2023/03/19 浏览次数:182 分类:TypeScript

本教程讨论如何在 TypeScript 中返回正确的 Promise。这将提供 TypeScript 中 Returns Promise 的完整编码示例,并完整演示每个步骤。

扫一扫阅读全部技术教程

社交账号
  • https://www.github.com/onmpw
  • qq:1244347461

最新推荐

教程更新

热门标签

扫码一下
查看教程更方便