TypeScript
2018-05-07 本文已影响27人
西兰花伟大炮
(1)基础示例
类型检查

数组被传入就报错了

(2)没有返回值的函数

(3)Null与Undefined
(4)任意值类型
任意值(Any)用来表示允许赋值为任意类型

(5)类型推论(Type Inference)
TypeScript 会在没有明确的指定类型的时候推测出一个类型
比如一个变量被初始化为字符串,类型就是字符串类型。
(6)联合类型
表示取值可以为多种数据类型中的一种

(7)对象的类型-接口
赋值的时候,变量的形状必须和接口的形状保持一致
- 什么是ts接口
- 可选属性
- 任意属性
- 只读属性
接口是对实现接口类行为的抽象与规范,而具体如何行动需要由类(classes)去按照规范实现(implements)

任意属性
- 使用 [propName: string] 定义了任意属性取 string 类型的值。
- 需要注意的是,一旦定义了任意属性,那么确定属性和可选属性都必须是它的子属性,通俗来说,其它属性的类型必须与任意属性的类型限制相同
(8)数组的类型
1.类型 + 方括号表示

2.数组泛型表示

3.任意类型数组

(9)字符串字面量枚举
字符串字面量类型用来约束取值只能是某几个字符串中的一个

(10)类
传统方法中,JavaScript 通过构造函数实现类的概念,通过原型链实现继承
(11)泛型
泛型(Generics)是指在定义函数、接口或类的时候,不预先指定具体的类型,而在使用的时候再指定类型的一种特性