eslint/no-new-wrappers 細心な
何を行うか
String、Number、Boolean オブジェクトに対する new 演算子の使用を禁止する
なぜ問題なのか
まず、プリミティブラッパー对象は実際にオブジェクトであるため、typeof は "string" や "number"、"boolean" ではなく "object" を返すようになります。第二に、ブール値オブジェクトに関する問題があります。すべてのオブジェクトは真偽値として真となるため、Boolean インスタンスはその実際の値が false であっても常に true と評価されてしまいます。
https://eslint.org/docs/latest/rules/no-new-wrappers
例
このルールに対して不正なコードの例:
js
var stringObject = new String("Hello world");
var numberObject = new Number(33);
var booleanObject = new Boolean(false);
var symbolObject = new Symbol("foo"); // Symbol はコンストラクタではないこのルールに対して正しいコードの例:
js
var stringObject = "Hello world";
var stringObject2 = String(value);
var numberObject = Number(value);
var booleanObject = Boolean(value);
var symbolObject = Symbol("foo");使用方法
設定ファイルまたは CLI でこのルールを有効化するには、次のようにします:
json
{
"rules": {
"no-new-wrappers": "error"
}
}bash
oxlint --deny no-new-wrappers