这是我参与「第四届青训营 」笔记创作活动的的第8天
安装TypeScript
有两种主要的方式来获取TypeScript工具:
- 通过npm(Node.js包管理器)
- 安装Visual Studio的TypeScript插件
Visual Studio 2017和Visual Studio 2015 Update 3默认包含了TypeScript。
TypeScript的优势
静态类型
- 可读性增强:基于语法解析TSDoc,ide增强
- 可维护性增强:在编译阶段暴露大部分错误
- 多人合作的大型项目中,获得更好的稳定性和开发效率
JS的超集
- 包含于兼容所有Js特性,支持共存
- 支持渐进式引入与升级
基础类型
- 布尔值
- 数字
- 字符串
- 数组
- 元组(Tuple)
- 枚举
- Any
- Void
- Null 和 Undefined
- Never
- Object
- 类型断言
类型断言(Type Assertion)可以用来手动指定一个值的类型。
类型断言的用途:
1.将一个联合类型断言为其中一个类型
2.将一个父类断言为更加具体的子类
3.将任何一个类型断言为any
4.将any断言为一个具体的类型
注:要使得A能够被断言为B,只需要A兼容B或B兼容A即可
泛型
在Java中,可以使用泛型来创建可重用的组件,一个组件可以支持多种类型的数据。 这样用户就可以以自己的数据类型来使用组件。
泛型类型
在函数名后添加<T>,其中T用来指代任意输入的类型,在后面的输入value: T和输出 Array<T>中即可使用。在调用的时候,可以指定它具体的类型为 string,也可以不手动指定,而让类型推论自动推算出来。
高级类型
- 交叉类型(Intersection Types)
- 联合类型(Union Types)
- 类型保护与区分类型(Type Guards and Differentiating Types)
- 可以为null的类型
- 类型别名
- 字符串字面量类型
- 数字字面量类型
- 枚举成员类型
- 可辨识联合(Discriminated Unions)
- 多态的
this类型 - 索引类型(Index types)
- 映射类型
本文内容来源于文档简介 · TypeScript中文网 · TypeScript——JavaScript的超集 (tslang.cn)、类型断言 · TypeScript 入门教程 (xcatliu.com)和今日课程《TypeScript入门》