很抱歉问这么愚蠢的人,但这是什么
Sorry to ask such a dumb one, but what is this?
最近我在代码中遇到了一行奇怪的行(第二个答案,找不到直接链接到答案的方法)。
就是这样:
reverse = !reverse ? 1 : -1;
好吧,我想特别是使用boolean ? option : option;
到目前为止,这看起来是我从未遇到的合法内容。我在谷歌上找不到它!请解释这是什么,语法是什么以及如何使用它,因为我真的很想知道这是什么,因为它看起来像一些高级智能的东西......
这是"如果"语句吗?感谢您阅读本文并回答!:D
这是一个三元(条件)表达式:
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!";
? :
是三元运算符。它的发明是为了简化这样的事情:
if (booleanExpression) {
var x = expression1;
} else {
var x = expression2;
}
所以上面会变成:
var x = booleanExpression ? expression1: expression2;
它们是等效的,但使用三元运算符更简洁一些。我主要看到它用于条件赋值或只是使if-else
子句更紧凑/需要更少的击键。在您给出的示例中,我认为它用于根据提供给模块的参数或标志有条件地反转某些集合。
相关文章:
- 这是什么 ==- javascript 运算符
- 我的单元测试选项是什么
- 打破承诺链的好方法是什么
- 在AngularJS应用程序中使用封装指令和路由的推荐方式是什么
- Javascript中的空白是什么
- 是什么让一个“;Uncaught RangeError:超过了最大调用堆栈大小“;错误(Chrome,在其他浏览器中显示
- 在JavaScript中拆分日期字符串的更好方法是什么
- 将jQuery.ech()方法转换为本地JavaScript抽象的最佳方法是什么
- 处理浮点错误的最佳方法是什么
- javascript导入的最佳实践是什么
- 基于窗口宽度jquery的函数的替代方法是什么
- 在ng重复循环中显示条件内容的最佳方式是什么
- 我的客户端选项是什么
- 这是什么“;要求“;事情
- 未捕获的类型错误:topFrame.window.changeSelectedBarStyle不是函数,原因是什么
- 实现比较方法的最佳实践是什么;s的比较类型是在运行时选择的
- @@(“at at”)在ES6 JavaScript中是什么意思
- knex:根据结果创建数组的合适方法是什么
- JSDoc:模块和名称空间之间的关系是什么
- 很抱歉问这么愚蠢的人,但这是什么