2 如果定义的时候没有赋值, 不管之后有没有赋值, 都会被推断成any类型而完全不被类型检查
3 联合类型: 表示取值可以为多种类型中的一种
4 访问联合类型的属性或方法
5 联合类型的变量被赋值的时候, 会根据类型推断一个类型
6 对象的类型----接口
tip: 定义的变量比接口少一些属性是不允许的 , 多一些属性也不允许, 赋值的时候, 变量的形状和接口的形状保持一致
7 接口中的可选属性 (可选属性的含义是该属性可以不存在, 也可以存在)【同时不允许存在未定义的属性】
8 接口中的任意属性
上面的例子标识 任意属性是string类型, 但是age属性是number类型, 报错了
9 接口中只读属性 readonly 定义只读属性
tip: 重新赋值 报错 只读的约束存在于第一次给对象赋值的时候,而不是第一次给只读属性赋值的时候
10 数组的类型
11 用接口表示数组
类数组(Array-like object) 不是数组类型 ??