/

如何在JavaScript中測試空物件

如何在JavaScript中測試空物件

今天我有需要檢查一個物件是否為空的需求。

由於在JavaScript中,物件是透過參考來進行比較的,因此無法像下面這樣進行簡單的比較:

1
2
3
4
5
const obj = {}

if (obj === {}) {
//no
}

解決方法是將該物件傳遞給內建的 Object.keys() 方法,然後檢查該物件的建構函式是否為 Object

1
2
3
const obj = {}

Object.keys(obj).length === 0 && obj.constructor === Object

重要的是要添加第二個檢查,以避免出現誤報。

tags: [“JavaScript”, “object”, “testing”]