Javascript是否支持PHP中的短三元(更确切地说,是它的变体)?

我很喜欢PHP对“短三元”的支持,省略了第二个表达式:

// PHP

$foo = 'hello';
$bar = '';

echo $foo ?: 'world'; // hello
echo $bar ?: 'world'; // world

Javascript是否支持任何类似的语法?我尝试过导致语法错误。我知道布尔短路,但这对于我目前正在做的事情是不可行的;那就是:?:

// Javascript

var data = {
    key: value ?: 'default'
};

有什么建议吗?(我可以将其包装在立即调用的匿名函数中,但这似乎很愚蠢)


答案 1
var data = {
    key: value || 'default'
};

答案 2

是的,请使用 .与PHP不同,JavaScript的运算符将返回第一个非伪造值,而不是规范化的布尔值。||||

foo || 'world'