oxc/bad-object-literal-comparison 正しさ
何を検査するか
オブジェクトリテラルと配列リテラルの比較を検査します。
なぜ問題か
変数をオブジェクトリテラルや配列リテラルと比較すると、常に false を返すためです。オブジェクトリテラルや配列リテラルは互いに等しくならないからです。
空かどうかを確認したい場合は、Object.entries() や Object.keys() およびそれらの長さを使用してください。
例
このルールに違反する 誤った コードの例:
javascript
if (x === {}) {
}
if (arr !== []) {
}このルールに準拠する 正しい コードの例:
javascript
if (typeof x === "object" && Object.keys(x).length === 0) {
}
if (Array.isArray(x) && x.length === 0) {
}使い方
設定ファイルまたは CLI でこのルールを有効化するには、次のように使用できます:
json
{
"rules": {
"oxc/bad-object-literal-comparison": "error"
}
}bash
oxlint --deny oxc/bad-object-literal-comparison