我在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 :(得分:2)
您的问题与三元运算符无关,但PHP输出为javascript。最安全的方法是:
var foo = <?php echo json_encode($foo); ?> || null ;
json_encode()
函数确保变量以JS理解的形式回显。
答案 1 :(得分:1)
你需要从php返回一个假值。你的代码几乎是正确的。它只是错过了它周围的引号。
var foo = '<?php echo $foo; ?>' || null;
console.log('foo', foo); // null
这是因为当$ foo为空时,它将是var foo = '' || null;
由于''
在Javascript中是假的,它将返回null。