如果指定的對象自身有指定的屬性,則靜態(tài)方法 Object.hasOwn() 返回 true察迟。如果屬性是繼承的或者不存在共虑,該方法返回 false之众。
語法
Object.hasOwn(obj, prop)
參數(shù)
obj
要測試的JavaScript 實例對象prop
要測試屬性的String類型的名稱或者Symbol
返回值
如果指定的對象中直接定義了指定的屬性,則返回 true蝇率;否則返回 false迟杂。
示例
const element = document.getElementById("elt");
const out = document.getElementById("out");
const elementStyle = element.style;
// We loop through all styles (for…of doesn't work with CSStyleDeclaration)
for (const prop in elementStyle) {
if (Object.hasOwn(elementStyle, prop)) {
out.textContent += `${
elementStyle[prop]
} = '${elementStyle.getPropertyValue(elementStyle[prop])}'\n`;
}
}
Tips
如果指定的屬性是該對象的直接屬性——Object.hasOwn()
方法返回 true
,即使屬性值是 null
或 undefined
本慕。如果屬性是繼承的或者不存在排拷,該方法返回 false
。它不像 in
運算符锅尘,這個方法不檢查對象的原型鏈中的指定屬性攻泼。