一、类型注解和类型推断

image.png

1.类型注解

开发者告诉编译器数据类型
(1)给元数据添加类型注解,声明变量时 跟上’ : ‘ 号

  1. let num: number = 55;
  2. let str: string = '123';
  3. let hasOwnProperty: boolean = true;
  4. let undefinedVal: undefined = undefined;
  5. let nullVal: null = null;
  6. // 可以使用内置对象类型 进行类型注解
  7. let date: Date = new Date()

(2)给对象类型添加注解

  1. // 对象
  2. let obj:{name: string; age:number} = {
  3. name: 'Finn',
  4. age: 26
  5. }
  6. // 数组
  7. // 第一种,元素类型后面加上[]
  8. let arr: number[] = [666, 123]
  9. // 第二种,使用数组泛型 Array<元素类型>
  10. let arr: Array<string> = ['123','567']
  11. // 元组,表示元素数量和类型已知的数组类型 [元素类型,元素类型]
  12. let arr: [number, string] = [123,'123']
  13. // 函数 ,定义参数类型与返回值
  14. cosnt foo = (num: number)=> number = (num: number) =>{
  15. return 123
  16. }
  17. // 类, 值的类型为某个类的实例
  18. class Super{
  19. }
  20. let subInstance: Super ={
  21. }

(3)定义多种类型 — 联合类型

  1. let value: number | string = 5;
  2. value = '5'

2.类型推断

(1)编译器自己推断数据额类型

浏览器会根据变量初始值推断变量类型
image.png