26

私は、2番目の式を省略して、「短い三元」に対するPHPのサポートが好きになりました。

// PHP

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

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

Javascriptはこのような構文をサポートしていますか??:構文エラーが発生しようとしました。私はブール短絡を認識していますが、それは私が現在行っていることには実行可能ではありません。それは:

// Javascript

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

助言がありますか?(すぐに呼び出される無名関数でラップすることもできますが、それはばかげているようです

4

3 に答える 3

49
var data = {
    key: value || 'default'
};
于 2011-09-14T04:42:33.310 に答える
16

はい、を使用します||。PHPとは異なり、JavaScriptの||演算子は、正規化されたブール値ではなく、最初の偽ではない値を返します。

foo || 'world'
于 2011-09-14T04:43:04.777 に答える
0
var myFunc = function(foo) {
  foo = foo || 'my default value for foo';
}
于 2013-12-20T11:15:38.630 に答える