检查对象属性并有条件地指定默认值的最佳方法是什么。
这看起来很笨重:
if (!obj.prop) obj.prop = defaultProp;
更清洁的选择是:
obj.prop = (obj.prop) || defaultProp;
但是真正的评估执行了不必要的任务,所以看起来有更好的东西吗?
谢谢!
答案 0 :(得分:2)
如果||
值为假,prop
或undefined
您将重新分配默认值,则使用null
时我会小心使用此解决方案。这里一个很好的调用是使用in
运算符,如此
if (!('prop' in obj)) obj.prop = defaultProp;
请注意,条件'prop'
内是一个字符串,表示您要检查的属性的确切名称。