当变量为空时 javascript 中的三元运算符
ternary operator in javascript when variable is empty
我在 php $foo = get_field('foo') ?: null;
中使用了三元运算符,但我正在寻找 javascript 中的等效项。到目前为止,我已经尝试了 var foo = <?php echo $foo; ?> || null;
。但是由于 <?php echo $foo; ?>
在这种情况下是 null/empty 控制台给我错误 Uncaught SyntaxError: Unexpected token ||
因为变量是 var foo = || null;
。
在javascript中还有其他使用三元运算符的方法吗?
您需要 return 来自 php 的虚假值。您的代码几乎是正确的。它只是缺少引号。
var foo = '<?php echo $foo; ?>' || null;
console.log('foo', foo); // null
这是因为当 $foo 为空时,它将是 var foo = '' || null;
由于 ''
在 Javascript 中是假的,它将 return 为空。
你的问题与三元运算符无关,而是PHP输出到javascript。最安全的方法是:
var foo = <?php echo json_encode($foo); ?> || null ;
json_encode()
函数确保变量以 JS 理解的形式回显。
我在 php $foo = get_field('foo') ?: null;
中使用了三元运算符,但我正在寻找 javascript 中的等效项。到目前为止,我已经尝试了 var foo = <?php echo $foo; ?> || null;
。但是由于 <?php echo $foo; ?>
在这种情况下是 null/empty 控制台给我错误 Uncaught SyntaxError: Unexpected token ||
因为变量是 var foo = || null;
。
在javascript中还有其他使用三元运算符的方法吗?
您需要 return 来自 php 的虚假值。您的代码几乎是正确的。它只是缺少引号。
var foo = '<?php echo $foo; ?>' || null;
console.log('foo', foo); // null
这是因为当 $foo 为空时,它将是 var foo = '' || null;
由于 ''
在 Javascript 中是假的,它将 return 为空。
你的问题与三元运算符无关,而是PHP输出到javascript。最安全的方法是:
var foo = <?php echo json_encode($foo); ?> || null ;
json_encode()
函数确保变量以 JS 理解的形式回显。