使用 JavaScript 物件時,你可以使用 in
運算子來檢查是否存在特定的鍵。
假設有一個 car
物件:
const car = {
color: 'blue'
}
我們可以使用下面的語句來檢查 color
屬性是否存在,並且會返回 true
:
'color' in car
我們可以將其用於條件判斷式中:
if ('color' in car) {
}
另一種方法是使用物件的 hasOwnProperty()
方法:
car.hasOwnProperty('color')
當繼承在應用程式結構中扮演重要角色時,不同之處在於 in
運算子即使對於從父物件繼承的屬性也會返回 true
,而 hasOwnProperty()
則不會。只有在物件直接擁有該屬性時,它才會返回 true
,而不是其祖先物件之一。
如果你想要取得一個屬性,並且如果該屬性不存在則返回預設值,可以使用後備機制:
car.brand || 'Ford'
如果物件上不存在 brand
屬性鍵,則該語句會返回字串 Ford
。