https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Data_structures
- any 任意类型,有明确类型,就不要用 any
- 联合类型
- Array
- Tuple
- interface 接口,描述一个拥有接口内字段对象
- namespaces
- modules
- 函数类型推断
- 枚举
- 泛型
7种原始类型
- Boolean
- Null
- Undefined
- Number
- BigInt
- String
- Symbol
// 布尔值let isDone:boolean =true;// 字符串let str:string = 'abc';// 数字let num:number = 10;// 数组let arr:number[]=[1,2,3];let arrStr:string[]=['a','b'];let arr2:Array<number>=[1,2,3]const isBool: boolean: falseconst age: number = 10const binaryNumber: number = ob1111 // 二进制let fistName: string = 'lucy'let message: string = `hello ${firstName}`// null & undefined 是所有类型的子类型let u: undefined = undefinedlet n: null = nulllet num: number = undefined // 不报错// undefined & null的区别Number(null) // 0Number(undefined) // NaNundefined == null //truelet notSure: any = 10notSure = 'this is string'notSure.name
undefined & null
undefined & null 是所有类型的子类型
- null表示”没有对象”,此处不应该有值
- undefined表示”缺少值”,此处应该有一个值,但是还没有定义
- undefined 此处应该有一个值,但是还没有定义;变量被声明了,但没有赋值时,就等于undefined
- 变量被声明了,但没有赋值时,就等于undefined
- 调用函数时,应该提供的参数没有提供,该参数等于undefined
- 对象没有赋值的属性,该属性的值为undefined
- 函数没有返回值时,默认返回undefined
Object 复合类型
- Array
- Object
- Function
