Sha*_*ndi 4 javascript conditional-operator conditional-statements
我想在三元运算符中使用 if else 语句
if (open) {
setOpen(false)
} else {
setOpen(true)
navigator.clipboard.writeText(link)
}
Run Code Online (Sandbox Code Playgroud)
“if”没有问题,我不知道如何将 else 转换为三元。就像下面的代码一样:
open ? setOpen(false) : setOpen(true) ; navigator.clipboard.writeText(link)
Run Code Online (Sandbox Code Playgroud)
像这样的事情还是有其他方法来完成这项工作?
不。
您尝试使用三元条件运算符的原因是错误的。它不是任何块的直接替代品if。
三元条件运算符是一个表达式。它解析为一个可以在其他地方使用的值。例如:
let x = someCondition ? 1 : 0;
Run Code Online (Sandbox Code Playgroud)
该表达式解析为一个值 或1,0并且该值在赋值语句中使用。
您显示的代码不是表达式。您拥有的是一系列语句,根据某个值有条件地执行。块if是有条件执行语句的结构。
您现在拥有的代码是正确的。
是的。这是可能的(尽管不是最佳实践并且不推荐)
他们的方法是:
例如:
condition ? statement1 : ( statement2, statement3, statement4 )
Run Code Online (Sandbox Code Playgroud)
试试这个片段:
condition ? statement1 : ( statement2, statement3, statement4 )
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
14407 次 |
| 最近记录: |