布尔操作符-逻辑与(&&)

逻辑与(&&)

逻辑与操作符由两个和号(&&)表示,有两个操作数。

第一个操作数 第二个操作数 结果
true   true true
true false false
false true false
false false false

逻辑与操作可以应用与任何类型的操作数,而不仅仅是布尔值。在有一个操作数不是布尔值的情况下 ,逻辑与操作就不一定返回布尔值,此时,它遵循下列规则:

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

  •如果第二个操作数是对象,则只有在第一个操作数的求值结果为true的情况下才会返回该对象。

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

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

  •如果有一个操作数是NaN,则返回NaN;

  •如果有一个操作数是undefiend,则返回undefiend;

时间: 2024-10-09 12:09:47

布尔操作符-逻辑与(&&)的相关文章

布尔操作符-逻辑非(!)

逻辑非(!) 逻辑非操作符由一个叹号(!)表示. 无论这个值是什么数据类型,这个操作符都会返回一个布尔值.逻辑非操作符首先会将它的操作数转换为一个布尔值,然后再将其求反.逻辑非操作符遵循下列规则: •如果操作数是一个对象,返回false: •如果操作数是一个空字符串,返回true: •如果操作数是一个非空字符串,则返回false: •如果操作数是数值0,返回true: •如果操作数是任意非0数值(包括Infinity),返回false: •如果操作数是null,返回true: •如果操作数是Na

布尔操作符-逻辑或(||)

逻辑或(||) 逻辑或操作符由两个竖线符号(||)表示,有两个操作数. 第一个操作数 第二个操作数 结果 true true true true false true false true true false false false 与逻辑与操作相似,如果有一个操作数不是布尔值,逻辑或也不一定返回布尔值:此时,它遵循下列规则: •如果第一个操作数是对象,则返回第一个操作数: •如果第一个操作数的求值结果为false,则返回第二个操作数: •如果两个操作数都是对象,则返回第一个操作数; •如果两

js布尔操作符小记

为了提高学习效率断了下网,没想到这么渣渣网断了之后就连不上了=.=废话少说,开始正题. 重新看红皮书,重点记一下布尔操作符.布尔操作符有 !,&&,||.  一,逻辑非 先说说 !, 非是布尔操作符中唯一一个会把所有数据类型转换为布尔类型的.拿几个特殊值为例: 如果操作数为 null,则 !null返回 true 如果操作数为 undefined,则 !undefined 返回true 如果操作数为 NaN,则 !NaN 返回true 有了 逻辑非,就可以用两个!!来判断一个数据类型的布尔

Javascript 布尔操作符总结

在一门编程语言中,布尔操作符的重要性堪比相等操作符.如果没有测试两个值关系的能力,那么诸如if...else和循环之类的语句就不会有用武之地了.在像javascript这样弱类型语言更有其妙用,让我们的代码,简捷可靠.布尔操作符一共有3个: 与.或.非. 特性: 非 先来讨论一下,最简单的‘非!’ 相对与和或来说,非更简单一点,先把操作数转换为布尔值,再取反,值不是true,就是false. 结论:逻辑非的返回值最后只有两个:true or false.       与和或: 而与和或并不总是返

JS基本概念 -- 操作符 -- 布尔操作符

布尔操作符一共有三个: 非(Not).与(AND).或(OR) 逻辑非逻辑非操作符由一个叹号(!)表示,可以应用于ECMAScript中的任何值.无论这个值是什么类型,这个操作符都会返回一个布尔值.逻辑非操作符首先将他的操作数转换为一个布尔值,再对其求反. //1.如果操作数是一个对象,返回false var o = { name: "ss" }; alert(!o); //false var o1 = {}; alert(!o1); //false //2.如果操作数是一个空字符串,

布尔操作符解析

在一门编程语言中,布尔操作符的重要性堪比相等操作符.如果没有测试两个值关系的能力,那么诸如if...else和循环之类的语句就不会有用武之地了. 布尔操作符一共有3个: 非.与.或 1.逻辑 非 逻辑非用!表示,可以应用与ECMAScript的任何类型的值,逻辑非操作返回的是一个布尔值(true/false).该操作符首先会将它的操作数转换为一个布尔值,然后再对其求反. 下面说明下Boolean()转型函数的一组规则. 数据类型 转换为true的值 转换为false的值 Boolean true

js中等性操作符(==)、关系操作符(<,>)和布尔操作符(!)比较规则

最近一直在笔试面试,经常碰到例如 123=='123'.'abc'==true等问题,其中有答对的,也有答错的,主要原因还是对ECMAScript的规范没有理解清楚,很多题目没有具体分析所导致.现查阅资料后对此进行一些总结. 等性操作符(==) 1.比较的类型是String.Number.Boolean这几个基本类型时 当是这几中类型进行比较时,会先将两边转换成数字,在进行比较. 1 console.log(1 == true); // true转换成数字为1,因此结果为true 2 3 con

RxJava操作符——条件和布尔操作符(Conditional and Boolean Operators)

RxJava系列教程: 1. RxJava使用介绍 [视频教程] 2. RxJava操作符 ? Creating Observables(Observable的创建操作符) [视频教程] ? Transforming Observables(Observable的转换操作符) [视频教程] ? Filtering Observables(Observable的过滤操作符) [视频教程] ? Combining Observables(Observable的组合操作符) [视频教程] ? Erro

布尔操作符

and . or .not  三个布尔操作符号用于比较布尔值 1.二元布尔操作符 如果两个布尔值都为True, and操作符就将表达式求值为True,否则求值为False:如下: >>> True and True True >>> True and False False >>> 以下为and的操作符的比较: 表达式 求值 True and True True True and False False False and True False Fal