逻辑与和逻辑或

逻辑与操纵可以应用于任何范例的操纵数,而不仅仅是布尔值。在有一个操纵数不是布尔值的情况下,逻辑与操纵就不肯定返回布尔值;此时,它遵照以下划定规矩:

  • 假如第一个操纵数是对象,则返回第二个操纵数;

  • 假如第二个操纵数是对象,则只要在第一个操纵数的求值效果为true的情况下才会返回该对象;

  • 假如两个操纵数都是对象,则返回第二个操纵数;

  • 假如有一个操纵数是null,则返回null;

  • 假如有一个操纵数是NaN,则返回NaN;

  • 假如有一个操纵数是undefined,则返回undefined。

逻辑与操纵属于短路操纵,即假如第一个操纵数可以决议效果,那末就不会再对第二个操纵数求值。关于逻辑与操纵而言,假如第一个操纵数是false,则不管第二个操纵数是什么值,效果都不再多是true了。

与逻辑与操纵类似,假如有一个操纵数不是布尔值,逻辑或也不肯定返回布尔值;此时,它遵照以下划定规矩:

  • 假如第一个操纵数是对象,则返回第一个操纵数;

  • 假如第一个操纵数的求值效果为false,则返回第二个操纵数;

  • 假如两个操纵数都是对象,则返回第一个操纵数;

  • 假如两个操纵数都是null,则返回null;

  • 假如两个操纵数都是NaN,则返回NaN;

  • 假如两个操纵数都是undefined,则返回undefined。

与逻辑与操纵符类似,逻辑或操纵符也是短路操纵符。也就是说,假如第一个操纵数的求值效果为true,就不会对第二个操纵数求值了。

    原文作者:ManWithoutSoul
    原文地址: https://segmentfault.com/a/1190000004876359
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞