跳至內容

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) {
}

參考資料

根據 MIT 許可發布。