TypeScript - 任意类型 Any Types

104 阅读1分钟

由于 JS 的自身是弱类型的关系,很多内置的 API 它本身就支持接收任意类型的参数。而 TS 又是基于 JS 基础之上的,所以说难免会在代码当中需要去用一个变量去接收任意类型的数据。

function stringfy (value:any):tring {
  return JSON.stringfy(value)
}
stringfy(100);
stringfy('string');
stringfy(true)

any 类型仍然属于动态类型,它的特点跟普通的 JS 变量是一样的。也就是可以用来接收任意类型的值,并且可以在运行过程当中接收其他类型的值。就是一位它有可能存放任意类型的值,所以说 TS 不会对 any 这种类型做类型检查,这也就意味着我们仍然可以像之前在 JS 中一样在它上面去调用任意的成员语法上都不会报错。就是因为 any 类型不会有任何类型检查,所以说它仍然会存在类型安全问题。所以说轻易不要去使用 any 类型,但是有的时候需要去兼容一些老的代码的时候,就会难免会用到这样一个 any 的类型。

let foo:any = 'string';
foo = 100;
foo.bar();