[译] TypeScript:拥有超能力的 JavaScript(下)

TypeScript:拥有超能力的 JavaScript(下)

欢迎回来,继前文 [译] TypeScript:拥有超能力的 JavaScript (上) 以后,本周带来下篇。javascript

使用枚举(enum)能够更清晰地组合一组数据。html

下面咱们来看看如何构造一个枚举类型:前端

你能够经过下面的方法从枚举中取值:java

但这样返回的是这个值的整数索引,和数组同样,枚举类型的索引也是从 0 开始的。react

那咱们怎么获取到 "Indrek" 呢?android

注意看咱们怎么获取到字符串的值。ios

还有一个很好的例子是使用枚举存储应用的状态。git

若是你想了解更多关于枚举(enum)的知识,stackoverflow 上的这个回答 探讨了更多关于枚举的细节。程序员


假设咱们请求某个 API,获取了一些数据。咱们老是指望成功获取数据 — 但若是咱们没法获取到数据会怎样呢?github

是时候返回 never 类型了,好比下面这种特殊使用场景:

注意咱们传递的 message 参数

咱们能够在另外的方法中调用 error 方法(回调)

由于咱们推断返回值的类型是 never,因此咱们声明返回值的类型为 never,而不是 void


  • null — 没有任何值。
  • undefined — 变量被声明了,但没有赋值。

它们自己的类型用处不是很大。

默认状况下 nullundefined 是全部类型的子类型。就是说你能够把 nullundefined 赋值给 number 类型的变量。

图片来自 stackoverflow

关于 nullundefined,Axel Rauschmayer 博士写过 一篇很是棒的文章


类型断言一般会发生在你清楚地知道一个实体具备比它现有类型更确切的类型。

它在运行时没有影响,只会在编译阶段起做用。TypeScript 会假设你 — 程序员,已经进行了必要的检查。

下面是一个简单示例:

尖括号 <> 语法与 JSX 用法冲突,因此咱们只能使用 as 语法进行断言。

关于类型断言的更多内容

一些更酷的东西

如今 — 用 TypeScript 来构造些有趣的东西吧!📙

感谢阅读,但愿你有所收获!

你能够关注个人 Twitter


掘金翻译计划 是一个翻译优质互联网技术文章的社区,文章来源为 掘金 上的英文分享文章。内容覆盖 AndroidiOS前端后端区块链产品设计人工智能等领域,想要查看更多优质译文请持续关注 掘金翻译计划官方微博知乎专栏

相关文章
相关标签/搜索