首页 > 编程语言 > 详细

JavaScript中逻辑与( && )和逻辑或( || )的短路特性以及返回值的问题

时间:2021-01-11 09:30:00      阅读:25      评论:0      收藏:0      [点我收藏+]

先占个坑,简单说下

之前经常在项目里使用 && 和 || 来判断空的值,但是一直都含含糊糊的没有该清楚为什么会这样返回,查了MDN,是因为 && 和 || 都具有短路特性(short-circuit),这个我之前也知道,重点是计算过程

计算过程:

  1. 从左向右,依次计算
  2. 发生短路时就停止计算,并返回停止处的值(无论是否是Boolean类型)
  3. 没短路,一直计算到最右边的值,那么就返回最右边的值(无论是否是Boolean类型)

true && false 很好理解是返回 false

true && ‘hello‘ && ‘666‘ 返回的不是 true 也不是 ‘hello‘ 而是 ‘666‘ ,可以这样理解,‘666‘ 是最后一个被计算的而且也可以被转为 true ,所以逻辑上和返回 true 是一致的。

 

参考

https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Operators/%E9%80%BB%E8%BE%91%E5%92%8C

JavaScript中逻辑与( && )和逻辑或( || )的短路特性以及返回值的问题

原文:https://www.cnblogs.com/ljhou/p/14260274.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!