日常开发中,经常使用if(obj.prop){...},来判断,
这里运用的是如果obj.prop不是falsy值,那么这个判断语句将会执行,
但是如果obj.prop为0、false或者空字符串不属于我们想要的判断条件内,
那么用falsy判断将会造成错误,
可以用如下方法严谨的判断:
obj.prop!==undefined
:直接和
undefined
作比较
typeof obj.prop!=='undefined'
:验证属性值的类型
obj.hasOwnProperty('prop')
: 验证属性是否为对象的自身属性
'prop' in obj
: 验证属性是否为对象自身或继承的属性
建议使用‘in’方法。