JavaScript:逻辑运算符

与(&&)、或(||)

&&

在 JavaScript 中,A && B 是一个逻辑与运算,其执行逻辑如下:

  1. 如果表达式 A 的结果为假值(例如 falsenullundefined0NaN 或空字符串 ""),则整个表达式 A && B 立即返回 A 的值,而不会继续执行 B

  2. 如果表达式 A 的结果为真值(例如非空字符串、非零数值、对象或函数),则整个表达式 A && B 继续执行,并返回 B 的值,不论 B 的结果是真值还是假值。

这种逻辑与运算主要用于条件判断,当 A 为真时,执行 B,否则不执行 B。这种逻辑短路的特性使得它在一些条件处理和简化代码逻辑的情况下非常有用。例如:

let value = someValue && calculateValue();

在上述代码中,如果 someValue 为真,那么 calculateValue() 函数会被调用,否则不会执行,从而避免了不必要的计算。

需要注意的是,&& 运算符的短路行为也意味着在某些情况下,B 可能根本不会被执行。这在条件判断和编写复杂逻辑时需要谨慎考虑,以确保不会产生意外的结果。

||

在 JavaScript 中,A || B 是一个逻辑或运算,其执行逻辑如下:

  1. 如果表达式 A 的结果为真值(例如非空字符串、非零数值、对象或函数),则整个表达式 A || B 立即返回 A 的值,而不会继续执行 B

  2. 如果表达式 A 的结果为假值(例如 falsenullundefined0NaN 或空字符串 ""),则整个表达式 A || B 继续执行,并返回 B 的值,不论 B 的结果是真值还是假值。

这种逻辑或运算主要用于条件判断,当 A 为真时,返回 A 的值,否则返回 B 的值。这种逻辑短路的特性使得它在一些条件处理和简化代码逻辑的情况下非常有用。例如:

let value = someValue || defaultValue;

在上述代码中,如果 someValue 为真,那么它将被赋值给 value,否则将使用 defaultValue

与逻辑与运算 (&&) 一样,需要注意的是,|| 运算符的短路行为也意味着在某些情况下,B 可能根本不会被执行。因此,在条件判断和编写复杂逻辑时,需要谨慎考虑以确保不会产生意外的结果。

posted @   MARSHBAN  阅读(22)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
点击右上角即可分享
微信分享提示