我已经厌倦了PHP对“短三元”的支持,省略了第二个表达式:
// PHP
$foo = 'hello';
$bar = '';
echo $foo ?: 'world'; // hello
echo $bar ?: 'world'; // world
Javascript是否支持这种语法?我尝试?:
导致语法错误。我知道布尔短路,但这对我目前正在做的事情是不可行的;那是:
// Javascript
var data = {
key: value ?: 'default'
};
有什么建议吗? (我可以将它包装在一个立即调用的匿名函数中,但这看起来很傻)
答案 0 :(得分:44)
var data = {
key: value || 'default'
};
答案 1 :(得分:15)
是的,请使用||
。与PHP不同,JavaScript的||
运算符将返回第一个非假值,而不是标准化的布尔值。
foo || 'world'
答案 2 :(得分:0)
var myFunc = function(foo) {
foo = foo || 'my default value for foo';
}