如何检查对象属性是否存在,并有条件地指定默认值(在JavaScript中)

时间:2017-12-09 20:17:40

标签: javascript

检查对象属性并有条件地指定默认值的最佳方法是什么。

这看起来很笨重:

if (!obj.prop) obj.prop = defaultProp;

更清洁的选择是:

obj.prop = (obj.prop) || defaultProp;

但是真正的评估执行了不必要的任务,所以看起来有更好的东西吗?

谢谢!

1 个答案:

答案 0 :(得分:2)

如果||值为假,propundefined您将重新分配默认值,则使用null时我会小心使用此解决方案。这里一个很好的调用是使用in运算符,如此

if (!('prop' in obj)) obj.prop = defaultProp;

请注意,条件'prop'内是一个字符串,表示您要检查的属性的确切名称。