【发布时间】:2016-02-03 14:02:10
【问题描述】:
根据https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Logical_Operators
expr1 || expr2 对我来说很有意义。它将表达式短路并返回第一个,这是有道理的。我经常使用它来选择传递的变量与默认变量。例如。
var default_connection = 'localhost:27017/task_master';
function setdb(connection){
var conn_str = connection || default_connection;
//Do something here
}
&& 的行为让我很吃惊,对我来说似乎非常难以理解。
expr1 && expr2 - 如果可以转换为 false,则返回 expr1;否则,返回expr2。
谁能帮我理解这一点,并提出一些&& 可能有用的用例。
编辑:从建议的原始问题中找到它。这给了我使用它的充分理由。
&& 有时被称为守卫操作符。
变量 = 指标 && 值
只有在指标为真时才能设置值。
我的问题是,“有人可以帮助我理解这一点并提出一些&& 可能有用的用例吗?”。我不知道这个问题的哪一部分难以理解。我举了一个我如何找到的例子||有用,上面的原因给出了一个足够好的理由 && 如何也有用。是的,我是 JavaScript 新手,是的,我没有你们那么聪明。但是有点善良会帮助我到达那里。和平!
【问题讨论】:
-
代码
&&在哪里看到? -
@David Haim:代码属于
||。他一般都在问&&。请注意,他甚至询问了&&的用例 - 显然,他不知道任何用例。 -
"为什么 JavaScript && 运算符返回第二个表达式?"因为,作为一个逻辑与,为了使第二个表达式甚至被认为是第一个表达式必须是真实的,否则它会短路。真的和怎么没区别||有效 - 当 expr1 为假时,它会返回 expr2,就像 && 当 expr1 为真时一样。
-
那句话的哪一部分你不明白?对我来说似乎很清楚
标签: javascript