代码
function getProps(obj,propName,defaultValue){
return obj[propName]?obj[propName]:defaultValue
}
var obj={
age:18,
isBoy:false
}
console.log(getProps(obj,'isBoy',true))//true
说明
getProps是一个获取对象指定属性的函数,如果该属性存在,则返回,否则,返回一个指定的默认值。其内部判断逻辑依赖的是真值判断,当某个属性是false,则会使用默认值,这显然是不合理的。
改进
return propName in obj ? obj[propName] : defaultValue
- in 可以用来判断对象上是否有某个属性