逻辑与 /逻辑或

逻辑运算符的优先级和结合性

  • 优先级
    • 逻辑与的优先级要高于逻辑或
    • 例:{ {true || false && false}}//true 先算 后面逻辑与 true || false
  • 结合性
    • 左结合性(从左到右的运算)

逻辑与和逻辑或的运算符中,如果参与运算的不是布尔类型的数据,返回值有一个特点

  • 逻辑与
    • 如果条件A不成立,直接返回条件A
      • 例: { {0 && 1}}//0 / { {null && 0}}//null
    • 如果条件A成立,不管条件B是否成立,直接返回条件B
      • 例:{ {1 && 0}}//0 / { {1 && 2}}//2
  • 逻辑或
    • 如果条件A成立,直接返回条件A
      • 例:{ {1 || 0}}//1 / { {1 ||10}}//1
    • 如果条件A不成立,不管条件B是否成立,直接返回条件B
      • 例:{ {0 || null}}//null / { {0 || 996}}//996

逻辑与和逻辑或的短路现象

  • 逻辑与:条件A不成立,直接返回条件A,条件B不会执行
    • let num = 1;let res = (10 > 20) && (++num);console.log(res, num);//false,1
  • 逻辑或:条件A成立,直接返回条件A,条件B不会执行
    • let num = 1;let res = (10 < 20) || (++num);console.log(res, num);//true,1

猜你喜欢

转载自blog.csdn.net/big_sun_962464/article/details/112128448
今日推荐