https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Data_structures

  1. any 任意类型,有明确类型,就不要用 any
  2. 联合类型
  3. Array
  4. Tuple
  5. interface 接口,描述一个拥有接口内字段对象
    1. namespaces
    2. modules
  6. 函数类型推断
  7. 枚举
  8. 泛型

7种原始类型

  1. Boolean
  2. Null
  3. Undefined
  4. Number
  5. BigInt
  6. String
  7. Symbol
  1. // 布尔值
  2. let isDone:boolean =true;
  3. // 字符串
  4. let str:string = 'abc';
  5. // 数字
  6. let num:number = 10;
  7. // 数组
  8. let arr:number[]=[1,2,3];
  9. let arrStr:string[]=['a','b'];
  10. let arr2:Array<number>=[1,2,3]
  11. const isBool: boolean: false
  12. const age: number = 10
  13. const binaryNumber: number = ob1111 // 二进制
  14. let fistName: string = 'lucy'
  15. let message: string = `hello ${firstName}`
  16. // null & undefined 是所有类型的子类型
  17. let u: undefined = undefined
  18. let n: null = null
  19. let num: number = undefined // 不报错
  20. // undefined & null的区别
  21. Number(null) // 0
  22. Number(undefined) // NaN
  23. undefined == null //true
  24. let notSure: any = 10
  25. notSure = 'this is string'
  26. notSure.name

undefined & null

undefined & null 是所有类型的子类型

  1. null表示”没有对象”,此处不应该有值
  2. undefined表示”缺少值”,此处应该有一个值,但是还没有定义
  3. undefined 此处应该有一个值,但是还没有定义;变量被声明了,但没有赋值时,就等于undefined
    1. 变量被声明了,但没有赋值时,就等于undefined
    2. 调用函数时,应该提供的参数没有提供,该参数等于undefined
    3. 对象没有赋值的属性,该属性的值为undefined
    4. 函数没有返回值时,默认返回undefined

Object 复合类型

  1. Array
  2. Object
  3. Function