JavaScript 如何判断属性是不是对象的属性

in操作符: 查找对象中属性是不是存在,如果存在,返回true,如果不存在,返回false

console.log("name" in person5);//判断name属性在对象person5中是否存在

 

hasOwnProperty(): 查找对象中的属性是不是在这个对象中定义的

console.log(pson1.hasOwnProperty("name"));//判断属性name是不是pson1对象的自有属性(该属性在pson1中定义的)

 

为什么不用if进行判断

当if判断中的值是一个对象、非空字符串、非零数字或true时,判断会评估为真;而当值是一个null、undefined、0、false、NaN或空字符串时评估为假。由于一个对象属性可以包含这些假值,上例代码有可能导致错误的假定。例如,当person1.age为0时,虽然age属性存在,if条件仍然无法满足。

 

posted @ 2022-08-06 20:16  炸鸡好吃真好吃  阅读(235)  评论(0编辑  收藏  举报