类型never与unknown

5/25/2024 ts

# 1.不存在的类型 never -【了解】

报错 错误类型

代替 void 函数无返回值

function infiniteLoop(): never {
    while (true) {}
  }

  function error(): never {
    throw '异常错误';
  }
  error()
  infiniteLoop()
1
2
3
4
5
6
7
8
9

# 2.unknown 未知类型定义-【了解】

和any 相似

相同点:

任何数据都可以直接赋值给 unknown

不同点:

unknown 数据类型的值 只能赋值给 unknown 或者 any

let a: unknown  = [];
a = {}
a = 100
let b:number = a;  //报错  unknown数据类型只能赋值给 unknown 或者 any 类型的变量
let c:any = a;  //100
1
2
3
4
5