该规则用于避免 JavaScript 的隐式类型强制转换(implicit type coercion)。隐式转换会让代码出现看似 bug 的结果,混合类型使用 == 比较时会静默转换值,从而无法捕获真正的类型错误;显式转换则能清晰表达意图并在类型不匹配处及时暴露问题。
主要检查点:始终用 === 和 !== 替代 == 和 !=;用 Number()、String()、Boolean()、parseInt() 等做显式转换;注意 + 运算符既会拼接字符串也会做数值相加;检查数组时应使用 Array.isArray() 而非 typeof。
使用方式:在给定文件中查找所有 == 与 !=(非严格相等)用法,以及 + 运算符等引发的隐式转换陷阱;将 == 替换为 ===、!= 替换为 !==,在确实需要比较混合类型处添加显式转换。适用于代码审查场景,检查脚本、客户端组件和浏览器执行路径,标记违反该规则的导入、事件处理器、运行时副作用或阻塞操作,并说明应如何在浏览器中验证改动。
完整实现细节、代码示例与框架相关指引见 references/rule.md,规则页面为 https://frontendchecklist.io/rules/javascript/type-coercion。