🔥码云GVP开源项目 12k star Uniapp+ElementUI 功能强大 支持多语言、二开方便! 广告
>[success] # ts --any 场景 ~~~ 1.'任何类型的值赋值给 any 类型的变量','可以把 any 类型的值赋值给任意类型(除 never 以外)的变量',仿佛有了any 一切变得 简单起来,不用在关心类型问题,实际确实令人糟糕,很可能把Typescript变成AnyScript ~~~ >[danger] ##### 糟糕的案例 ~~~ // 可以把 any 类型的值赋值给任意类型 原本数字类型的num // 通过赋值any定义的属性导致 let num: number = 1 let numAny: any = '2' num = numAny // 任何类型的值赋值给 any 类型的变量 let str: string = '2' let strAny: any = 1 strAny = str ~~~ >[danger] ##### any 声明的对象 ~~~ let anything: any = {}; let z = anything.x.y.z; // z 类型是 any,不会提示错误 z(); // 不会提示错误 // 更推荐是使用类型 type info = {obj?:{name:string}} const info:info = {} info.obj?.name ~~~ >[info] ## 什么时候用any ~~~ 1.如果我们不想花费过高的成本为复杂的数据添加类型注解,或者已经引入了缺少类型注解的第三方组件库, 这时就可以把这些值全部注解为 any 类型,并告诉 TypeScript 选择性地忽略静态类型检测。 ~~~