最近我在code找到了一个奇怪的线路(第二个答案,找不到直接链接到答案的方法)。
就是这样:
reverse = !reverse ? 1 : -1;
嗯,我想具体使用boolean ? option : option;
到目前为止,这看起来合情合理。我在谷歌找不到它!请解释这是什么,语法是什么以及如何使用它,因为我真的想知道这是什么,因为它看起来像一些先进的智能东西......
这是if-else声明吗?感谢您阅读并回答! :d
答案 0 :(得分:3)
它是三元(条件)表达式:
var result = condition ? "true result" : "false result";
示例:
// since 1 is less than 2 result = "It's less!"
var result = 1 < 2 ? "It's less!" : "It's more!";
答案 1 :(得分:1)
? :
是ternary operator。它的发明是为了简化这样的事情:
if (booleanExpression) {
var x = expression1;
} else {
var x = expression2;
}
所以上面会变成:
var x = booleanExpression ? expression1: expression2;
它们是等价的,但使用三元运算符更简洁。我大多看到这用于条件赋值或只是使if-else
子句更紧凑/需要更少的击键。在您给出的示例中,我认为它用于根据提供给模块的参数或标志有条件地反转某些集合。