一、数组类型:
有两种定义类型的方法:
方法1:let arr1:string[]
方法2 数组泛型:let arr2: Array
二、枚举类型:
enum Color {
Red, Green, Blue
}
枚举类型获取:
let c:Color = Color.Green
let idx:number = Color[1]
枚举可以正方向查找、也可以反方向查找
三、void类型:
定义void和undefined 毫无意义
注:undefined 和 null 类型是所有类型的子类型,子类型可以赋值任何父类型(开启严格模式不可赋值)
四、never 类型
表示那些永不存在的类型(抛出异常错误类)
五、object类型
object表示非原始类型,使用object为了更好表示object.create这样子的API
Example : declare function create(o:object | null) :void
注:一般来说在typescript中使用接口(interface)来定义对象
六、类型断言:
告诉typescript编译器:我知道我在干什么!
有两种语法:
泛型语法和as语法(as语法更优,jsx中只能是as语法)
Example:
let text:any = ‘this is my storyBook’
语法 1、
let len:number = (
语法 2、
let len:number = (text as string).length
七、元祖类型:
let x:[number, string] = [1, ‘hellow world’]
本质就是数组,只是固定了长度和固定了数组元素的类型
注:3.1以上的版本无法越界访问,因为长度固定了!3.1以上的版本未对长度控制
