Javascript 如何判斷物件為空 {},以及是否包含某個屬性?

多重閱讀發表於2018-06-24

一、判斷物件是否為空

簡單的話,就是這樣判斷:

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

由於 Object.keys(new Date()).length === 0,因此下面的判斷更完整:

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

二、判斷是否包含某個屬性

判斷是否存在某個屬性,可以使用 typeof:

'undefined' === typeof obj.someprop

我比較喜歡使用 hasOwnProperty, 可讀性比較好:

obj.hasOwnProperty('someprop')

還可以用 in:

'someprop' in obj

相關文章