判断一个变量为undefined的正确姿势

日常开发中,经常使用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’方法。


版权声明:本文为lwjoo001原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。