-
in
操作符用于檢查對(duì)象的自有屬性和繼承來(lái)的屬性是否存在驹止。
let user = {
name: 'lio'
}
console.log('age' in user) // false
console.log('name' in user) // true
console.log('constructor' in user) // true
-
hasOwnProperty
方法只檢查屬性是否存在于當(dāng)前對(duì)象中棵红,而忽略原型鏈凶赁。
console.log(user.hasOwnProperty('age')) // false
console.log(user.hasOwnProperty('name')) // true
console.log(user.hasOwnProperty('constructor')) // false
- 使用點(diǎn)運(yùn)算符或括號(hào)符號(hào)
user["prop"]
。如果屬性存在,它將返回該屬性的值虱肄,否則將返回 undefined
console.log(user['age']) // undefined
console.log(user['name']) // "lio"
- ES11 的
?.
可選鏈操作符的出現(xiàn)是為了解決 "不存在的屬性" 引起的錯(cuò)誤問(wèn)題桑涎,我們剛好可以來(lái)檢查對(duì)象屬性是否存在及刻。
console.log(user?.age) // undefined
console.log(user?.name) // "lio"
最后編輯于 :
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者