• 原文地址:TypeScript — JavaScript with superpowers II
  • 原文作者:Indrek Lasn
  • 译者:liaozeen

Enum

枚举(enumerations)允许你为一组数值赋予友好的名字。

以下是enum 的结构:

你可以像这样从enum获取值:

等下,它返回表示值的索引的整数。和数组一样,枚举从 0 开始索引其元素。

我们怎么通过索引 0 得到 值Indrek

注意值是如何表示为字符串的。

另一个好的运用例子是使用枚举存储应用的状态。

如果你想了解更多关于枚举的知识—我发现有关于 enum 细节的不错的答案。

Never

假设我们从API中获取了一些数据。我们总是期望能获取到数据,但是如果我们不能拿到数据该怎么办呢?

在恰当的时间返回 never类型(特殊情况下)

请注意我们传递的错误消息。

我们在另一个函数(回调)中调用 error函数:

请注意当返回类型是 never 时,我们使用 never,而不使用 void

Null && Undefined

  • null —— 缺少任何值
  • undefined —— 变量已经定义,但未赋值

它们的本身的类型用处不是很大:

默认情况下nullundefined是所有类型的子类型。 就是说你可以把 nullundefined赋值给number类型的变量。

资源

这是一篇由 Axel Rauschmayer博士写关于 nulldefined的文章。

类型断言

通常这会在你清楚地知道一个实体具有比它现有类型更确切的类型使用类型断言。

类型断言在运行时没有影响,只是给编译器使用。Typescript回假设你(程序员)已经执行了你需要的任何的类型检查。

这是一个演示:

方括号 <> 语法会与 JSX语法冲突,所以我们使用 as代替。

这里有关于类型断言的资源。

更酷的东西

  • interfaces
  • DefinitelyTyped
  • unions
  • classes
  • awesome typescript

现在我们已经使用Typescript做了些很酷的东西。 感谢阅读,保持好状态。可以在我的推特了解更多。

转载于:https://juejin.im/post/5c979932f265da60f96f90d6

【译】Typescript的类型(二)相关推荐

  1. 简单探讨TypeScript 枚举类型

    这篇文章主要介绍了TypeScript 枚举类型,TypeScript 在 ES 原有类型基础上加入枚举类型,使得在 TypeScript 中也可以给一组数值赋予名字,这样对开发者比较友好,可以理解枚 ...

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

    原文地址:TypeScript - JavaScript with superpowers - Part II 原文作者:Indrek Lasn 译文出自:掘金翻译计划 本文永久链接:github.c ...

  3. TypeScript 基础类型 1

    TypeScript 基础类型 自本节起,我们将开始接触 TypeScript 的类型系统,这也是 TypeScript 最为核心的部分. 本节介绍 TypeScript 中一些基础类型,有些特殊类型 ...

  4. 快速而深入地了解TypeScript及其类型

    by David Piepgrass 由David Piepgrass 快速而深入地了解TypeScript及其类型 (A quick yet in-depth tour of TypeScript ...

  5. TypeScript 基础类型+函数+接口+类

    1.简介: TypeScript 是 JavaScript 的一个超集.由微软开发的自由和开源的编程语言.设计目标是开发大型应用.是一种面向对象的编程语言,遵循强类型 javascript与types ...

  6. PART16 TypeScript高级类型

    文章目录 TypeScript高级类型 class类 构造函数 实例方法 类的继承 类成员的可见性 类型兼容性 接口之间的兼容性 函数之间的兼容性 参数个数 参数类型 返回值类型 交叉类型 泛型 泛型 ...

  7. TypeScript高级类型:联合类型、交叉类型和类型别名

    目录 引言 联合类型 交叉类型 类型别名 注意 结论 引言 TypeScript 是一门强类型语言,其高级类型功能使得开发者能够更加灵活地定义类型并对其进行操作,以便于更好地编写可维护和可扩展的代码. ...

  8. TypeScript学习(二):任意类型及推论

    上文我们提到typescript(以下统称为"TS")中原始数据类型的一些声明方式,不难看出,TS中的数据定义方式跟JS是大同小异的,但是在JS中,我们常常会声明一个变量,如: v ...

  9. [译] TypeScript 3.0: unknown 类型

    原文地址:TypeScript 3.0: The unknown Type 原文作者:Marius Schulz 译文出自:掘金翻译计划 本文永久链接:github.com/xitu/gold-m- ...

最新文章

  1. python3 hmac算法简介
  2. oracle的listagg函数
  3. MFC Timer定时器
  4. pythonsuper_python中的super()是什么意思呢
  5. Spark MLlib实现的广告点击预测–Gradient-Boosted Trees
  6. 【ArcGIS微课1000例】0008:ArcGIS中如何设置相对路径?(解决图层前红色的感叹号)
  7. dj鲜生-27-登陆装饰器-使用django内置的登陆装饰器
  8. Oracle把Java EE的未来押在Rest API上了?
  9. 面向对象基本特性和设计原则
  10. JSP九大内置对象及其使用教程
  11. 主力用计算机吸筹,通达信主力吸筹指标
  12. 银行业应用系统监控的维度与目标
  13. 通达OA工作流插件--保存OA流程中的所有附件+流程表单到指定目录(2013adv,2015,2016)
  14. winedit 改字体大小
  15. 文言文的理解 —— 字词篇
  16. dsf5.0二次开发输入框监听,其他类似
  17. 信息安全数学基础——模重复平方计算法(两种方法实现C+JAVA)
  18. 方舟 linux服务器设置,方舟生存进化私人服务器怎么设置 方舟手游私服设置教程...
  19. 水安ABC考试单选练习题库(1)
  20. 【转】Linux服务器性能评估与优化(一)

热门文章

  1. java中的JDBC用户管理系统_Java+JDBC学生信息管理系统
  2. unicode字符编码表下载_详解字符编码(上)
  3. PHP怎样防止小数点精度不丢失,javascript小数精度丢失的完美解决方法
  4. __str__的用法
  5. oracle索引图文解析,oracle索引介绍(图文详解)
  6. tabbar怎么些_vue 做的tabBar组件
  7. java中的socket算法_GitHub - xiaohuiduan/pbft: pbft算法基于Socket的java实现
  8. mysql jdbc批量更新_jdbc批量更新数据
  9. 天翼云从业认证(1.5)了解Windows和Linux两种操作系统的常见命令和操作
  10. 中国移动系统集成公司2020春招技术综合在线编程题第一题