使用 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