zl程序教程

您现在的位置是:首页 >  后端

当前栏目

js--真值隐式转换的弊端

JS转换 -- 隐式 弊端
2023-09-27 14:26:50 时间

  • 微信扫码关注公众号 :前端前端大前端,追求更精致的阅读体验 ,一起来学习啊
  • 关注后发送关键资料,免费获取一整套前端系统学习资料和老男孩python系列课程
    在这里插入图片描述

学习资源推荐 - 学习资源推荐 https://blog.csdn.net/qq_42813491/article/details/90213353

代码

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 可以用来判断对象上是否有某个属性