TypeScript 标注类型
- 类型检查
- 静态类型系统(Static types systems)描述了值应有的结构和行为。一个像 TypeScript 的类型检查器会利用这个信息,并且在可能会出错的时候告诉我们。
- 常见类型
- 字串类型:string;数字类型:number;布尔类型:boolean;数组类型:number[]、Array<number>;联合类型:string | number;字面量类型;对象类型:object;元组类型:tuple;枚举类型:enum;任意类型:any;没有返回:void;空值类型:null、undefined;永不存在的值:never。
- 类型声明
- 在 JavaScript 中,声明变量的方式有:var、let、const。let和const是 JavaScript 中相对较新的变量声明方式。let在很多方面与var是相似的,但是可以帮助大家避免在 JavaScript 里常见一些问题。const是对let的一个增强,它能阻止对一个变量再次赋值。
- 类型推论
- TypeScript 里的类型推论。即,类型是在哪里如何被推断的。TypeScript 里,在有些没有明确指出类型的地方,类型推论会帮助提供类型。
- 类型收窄
- TypeScript 的类型检查器会考虑到这些类型守卫和赋值语句,而这个将类型推导为更精确类型的过程,我们称之为收窄。
- 类型兼容性
- TypeScript 里的类型兼容性是基于结构类型系统的,结构类型系统是一种只使用其成员来表达类型的方式,它正好与名义(nominal)类型系统形成对比。
- 声明合并
- “声明合并”是指编译器将针对同一个名字的两个独立声明合并为单一声明。合并后的声明同时拥有原先两个声明的特性。任何数量的声明都可被合并;不局限于两个声明。
- 枚举类型
- 使用枚举我们可以定义一些带名字的常量。使用枚举可以清晰地表达意图或创建一组有区别的用例。TypeScript 支持数字的和基于字符串的枚举。
- Symbols 类型
- 自 ECMAScript 2015 起,symbol 成为了一种新的原生类型,就像number和string一样。symbol 类型的值是通过 Symbol 构造函数创建的。
- 函数类型标注
- 函数是任何应用的基础组成部分,无论它是局部函数(local functions),还是从其他模块导入的函数,亦或是类中的方法。当然,函数也是值(values),而且像其他值一样,TypeScript 有很多种方式用来描述,函数可以以怎样的方式被调用。
- 对象类型标注
- 在 JavaScript 中,我们分组和传递数据的基本方式是通过对象。在 TypeScript 中,我们通过对象类型来表示它们。