eslint/no-new-wrappers 死板
它做什么
禁止使用 String、Number 和 Boolean 对象的 new 运算符
为什么这样做不好?
首先,原始包装器对象实际上是对象。这意味着 typeof 将返回 "object" 而不是 "string"、"number" 或 "boolean"。第二个问题来自布尔对象。每个对象都是真值,这意味着 Boolean 的实例始终解析为 true,即使它的实际值为 false。
https://eslint.org.cn/docs/latest/rules/no-new-wrappers
示例
此规则不正确的代码示例
js
var stringObject = new String("Hello world");
var numberObject = new Number(33);
var booleanObject = new Boolean(false);此规则正确的代码示例
js
var stringObject = "Hello world";
var stringObject2 = String(value);
var numberObject = Number(value);
var booleanObject = Boolean(value);