Я использовал троичный оператор в PHP $foo = get_field('foo') ?: null;
но я ищу эквивалент в javascript. До сих пор я попробовал var foo = <?php echo $foo; ?> || null;
, Но с тех пор <?php echo $foo; ?>
в этом случае пусто / пусто, консоль выдает ошибку Uncaught SyntaxError: Unexpected token ||
поскольку переменная var foo = || null;
,
Есть ли другой способ использования троичных операторов в JavaScript?
Ваша проблема не имеет ничего общего с троичным оператором, но с выводом PHP в JavaScript. Самый безопасный способ:
var foo = <?php echo json_encode($foo); ?> || null ;
json_encode()
Функция гарантирует, что переменная отображается в форме, понятной JS.
Вам нужно вернуть ложное значение из php. Ваш код был почти правильным. Он только пропускал цитаты вокруг него.
var foo = '<?php echo $foo; ?>' || null;
console.log('foo', foo); // null
Это потому, что когда $ foo пусто, это будет var foo = '' || null;
и с тех пор ''
является ложным в Javascript, он вернет ноль.