关于 && 的问题,求指点!

cglx007 2016-01-10 11:18:35
function plucker(FIELD){
return function(obj){
return (obj && obj[FIELD]);
};
}

var best = {title:"Infinite Jest",author:"DFW"};

var getTitle = plucker('title');

getTitle(best) //=>Infinite Jest

为什么return (obj && obj[FIELD]);里,用obj && obj[FIELD],直接用obj[FIELD]不是也能取到值吗?求详细指点!先谢谢啦!
...全文
99 4 打赏 收藏 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
要是obj为null或者undefined就会报错了。这样写可以保证程序正常运行
恶心鬼 2016-01-10
  • 打赏
  • 举报
回复
这样写就不管你传入什么参数都不至于报错
文盲老顾 2016-01-10
  • 打赏
  • 举报
回复
return a&&b 当 a 为 null 或者空字符串,或者数字0,或者undefine 等转换为bool为假时的值,返回a,否则返回b return a||b 当 a 为 null 或者空字符串,或者数字0,或者undefine 等转换为bool为假时的值,返回b,否则返回a
cglx007 2016-01-10
  • 打赏
  • 举报
回复
这样用法有什么好处?

87,984

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧