ts总结2、any 类型,unknown 类型,never 类型(编译选项noImplicitAny)

一、any类型:any 类型表示没有任何限制,该类型的变量可以赋予任意类型的值

注意:变量类型一旦设为any,TypeScript 实际上会关闭这个变量的类型检查。即使有明显的类型错误,只要句法正确,都不会报错。

实际开发中使用的两个场景:

1、出于特殊原因,需要关闭某些变量的类型检查,就可以把该变量的类型设为any

2、为了适配以前老的 JavaScript 项目,让代码快速迁移到 TypeScript,可以把变量类型设为any。有些年代很久的大型 JavaScript 项目,尤其是别人的代码,很难为每一行适配正确的类型,这时你为那些类型复杂的变量加上any,TypeScript 编译时就不会报错。

从集合论的角度看,any类型可以看成是所有其他类型的全集,包含了一切可能的类型。TypeScript 将这种类型称为“顶层类型”

1.2、类型推断:对于开发者没有指定类型、TypeScript 必须自己推断类型的那些变量,如果无法推断出类型,TypeScript 就会认为该变量的类型是any

function add(x, y) {
  return x + y;
}

add(1, [1, 2, 3]) // 不报错
// 函数add()的参数变量x和y,都没有足够的信息,TypeScript 无法推断出它们的类型,就会认为这
两个变量和函数返回值的类型都是any

你可能感兴趣的:(typscript,typescript)