判断对象是否存在某个属性
生活随笔
收集整理的這篇文章主要介紹了
判断对象是否存在某个属性
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
JavaScript判斷對象是否存在某個屬性或者方法,常用方法有兩種hasOwnProperty和in
hasOwnProperty是Object原型對象上的一個方法,用來判斷對象自身屬性中是否具有指定的屬性。
這個方法可以用來檢測一個對象是否含有特定的自身屬性;和 in 運(yùn)算符不同,該方法會忽略掉那些從原型鏈上繼承到的屬性。
// eslint-disable-next-line no-new-object const obj = new Object(); obj.name = 'myObject';console.log(obj.hasOwnProperty('name')); // true console.log(obj.hasOwnProperty('toString')); // false console.log(obj.hasOwnProperty('hasOwnProperty')); // falseconsole.log('name' in obj); // true console.log('toString' in obj); // trueMDN上指出,JavaScript 并沒有保護(hù) hasOwnProperty 這個屬性名,可以將任意對象的一個屬性命名為hasOwnProperty,這樣一來就無法使用原型對象上的hasOwnProperty方法了。解決辦法,直接使用原型鏈上的hasOwnProperty方法:
// 可以直接使用原型鏈上真正的 hasOwnProperty 方法 ({}).hasOwnProperty.call(obj, 'name'); // true // 也可以使用 Object 原型上的 hasOwnProperty 屬性 Object.prototype.hasOwnProperty.call(obj, 'name'); // true推薦使用第二種方式。
總結(jié)
以上是生活随笔為你收集整理的判断对象是否存在某个属性的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 利用 Git OpenSSH 查看/生成
- 下一篇: 个人博客建站方案推荐