参考地址:https://blog.csdn.net/qq_42363090/article/details/103716526
如何看某个对象中没有某一个属性
如果我们要检测对象是否拥有某一属性,可以用in操作符
var obj= { name: '类老师', age: 18, school: '家具' }; console.log('age' in obj); // true console.log('grade' in obj); // false
在vue中的实际应用,通过判断是否有某一个属性,是否展示出这个标签。 <h2 class="tab-meassage-timeweek" v-if=" 'weekunkown' in item==true? true : false ">{{item.weekunkown}}</h2>
疑惑的地方 let xiaoming={}; console.log('Function' in xiaoming);//为false console.log('toString' in xiaoming);//为什这里是true了 不是也应该是false吗 看了下面这张图,你就知道了,因为继承啊
// 因为toString定义在object对象中,而所有对象最终都会在原型链上指向object,所以obj也拥有toString属性。 // 要判断一个属性是否是obj自身拥有的,而不是继承得到的,可以用hasOwnProperty()[has er en po per t]方法: var obj= { name: '陈三', age: 18, school: '宇宙银河系' }; obj.hasOwnProperty('name'); // true obj.hasOwnProperty('toString'); // false