Подтвердить что ты не робот

Поддерживает ли Javascript короткий тройной (скорее, вариант), как в PHP?

Я полюбил поддержку PHP для "короткой тройки", опустив второе выражение:

// PHP

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

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

Поддерживает ли Javascript какой-либо синтаксис? Я пробовал ?:, что приводило к синтаксической ошибке. Я знаю логические короткие замыкания, но это невозможно для того, что я сейчас делаю; это:

// Javascript

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

Любые предложения? (Я мог бы обернуть его в сразу вызываемую анонимную функцию, но это кажется глупым)

4b9b3361

Ответ 1

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

Ответ 2

Да, используйте ||. В отличие от PHP, оператор JavaScript || возвращает первое не фальшивое значение, а не нормированное логическое значение.

foo || 'world'

Ответ 3

var myFunc = function(foo) {
  foo = foo || 'my default value for foo';
}