троичный оператор в JavaScript, когда переменная пуста

Я использовал троичный оператор в PHP $foo = get_field('foo') ?: null; но я ищу эквивалент в javascript. До сих пор я попробовал var foo = <?php echo $foo; ?> || null;, Но с тех пор <?php echo $foo; ?> в этом случае пусто / пусто, консоль выдает ошибку Uncaught SyntaxError: Unexpected token || поскольку переменная var foo = || null;,

Есть ли другой способ использования троичных операторов в JavaScript?

0

Решение

Ваша проблема не имеет ничего общего с троичным оператором, но с выводом PHP в JavaScript. Самый безопасный способ:

var foo = <?php echo json_encode($foo); ?> || null ;

json_encode() Функция гарантирует, что переменная отображается в форме, понятной JS.

2

Другие решения

Вам нужно вернуть ложное значение из php. Ваш код был почти правильным. Он только пропускал цитаты вокруг него.

var foo = '<?php echo $foo; ?>' || null;
console.log('foo', foo);   // null

Это потому, что когда $ foo пусто, это будет var foo = '' || null;
и с тех пор '' является ложным в Javascript, он вернет ноль.

1

По вопросам рекламы [email protected]