JS逻辑运算符的与,或,非

JS逻辑运算符的与,或,非

1.逻辑非(!)

定义:所谓非,就是取反,非真即假,非假即真。

非运算符不仅仅只能用于布尔值,其他数据类型也是可以的,如下:

1.如果操作数是一个对象,返回false

2.如果操作数是一个空字符串,返回true

3.如果操作数是一个非空字符串,返回false

4.如果操作数是数值0,返回true

5.如果操作数是任意非0数值(包括Infinity), 返回false

6.如果操作数是null,返回true

7.如果操作数是NaN,返回true

8.如果操作数是undefined, 返回true

2.逻辑与(&&)

定义:作用于两到多个值,并且只有所有的操作数都是真值时,才为true。

JavaScript里面的与存在短路现象,具体说明如下:

1.第一个操作数为真:会进入第二个操作数的判断,且无论第二个操作数真假,都会返回第二个操作数。

2.第一个操作数为假:不会进入第二个操作数的判断,直接返回第一个操作数。

例:

//后面是输出的操作数
console.log(3 && 5);//5

console.log("Hello" && 20);//20

console.log("Hello" && false);//false

console.log("" && "shoe");//""

console.log("Hello" && '');//''

3.逻辑或(||)

定义:同样是作用于两到多个值,但是只要有一个操作数为真,就返回真。
JavaScript里面的或同样存在短路现象,具体说明如下:

1.如果第一个操作数为真,则不会进入第二个数的判断。所以无论第二个操作数真假,都直接返回第一个操作数

2.如果第一个操作数为假,则会进入第二个数的判断。但是无论第二个操作数真假,都直接返回第二个操作数

例:

//后面是输出的操作数
console.log(false || true);//true

console.log("Hello" || "");//Hello

console.log("Hello" || "str");//Hello

console.log(NaN || "");//""

console.log(0 || "Hello World");//Hello World

console.log('' || 'str');//str

console.log('' || false);//false
    原文作者:小白张幺幺
    原文地址: https://blog.csdn.net/zzh1251994430/article/details/107452367
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞