[英]Javascript: Most effecient way to define variable to a function call, or if null to a variable?
使用三元运算符需要两次调用该函数。
var colour = (tryAdventurousColour() != null) ? tryAdventurousColour() : 'black';
可以在1行中完成吗?
编辑:固定语法编辑:像这样,但更好
var color =((colour = tryAdventurousColour())!= null)? 颜色:'黑色';
使用JavaScript的逻辑或运算符:
var colour = tryAdventurousColour() || 'black';
您的函数tryAdventurousColour()
将执行一次。 如果返回“真实”值,则该colour
变量将被分配给该值,否则colour
将为“黑色”。 因为null
是一个“虚假”值,因此这完全适合您的情况。
一般而言,表达式a || b
a || b
返回a
,如果它可以被转换为true(是“truthy”),否则返回b
。 请注意,非零数字,非空字符串和对象都将转换为true。 null
,undefined,0,“”将全部转换为false。 (如果我遗漏了一些东西,我敢肯定有人会纠正我的。)
var colour = (tryAdventurousColour()) ? tryAdventurousColour() : 'black';
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.