SuperAPI AI 工具集

avoid-wrapper-types

通用与其它

查看项目

更新于 10-16 00:05

技能介绍

用途:在编写 TypeScript 类型注解时规范原始类型的写法,避免误用对象包装类型。适用于为原始值标注类型、排查包装类型与原始类型不匹配的报错,以及理解为什么 String 不等于 string。

主要能力:说明原始类型(string、number、boolean、symbol、bigint)与对象包装类型(String、Number、Boolean、Symbol、BigInt)的区别。核心规则是始终使用小写形式。TypeScript 允许把原始类型赋给包装类型,但反过来不允许,因此包装类型会引发赋值错误。包装类型还存在身份问题:new String("hello") 每次都是新对象,相等比较返回 false,typeof 返回 "object";new Boolean(false) 作为对象恒为真值。原始类型可通过自动装箱临时创建包装对象来调用方法,因此写法上更简洁且无上述缺点。

使用方式:在类型注解中统一使用小写原始类型,如 const s: string、const n: number、const b: boolean、const sym: symbol、const big: bigint。异常情况:可以使用包装类型的静态方法,例如 String.fromCharCode(65)、Number.isNaN(x)、BigInt(123),这些不会创建包装对象,但不要把它们用作类型或实例化。

适用场景:任何为原始值标注类型的场景,以及出现包装类型与原始类型赋值错误时。

限制:该资料未说明具体的安装命令或集成方式;识别与修正包装类型误用需结合具体代码判断。