1.转换规则
其他数据类型转换成boolean类型的规则:
null、undefined、‘’(长度为0的字符串)、‘0’、0、NaN 这几个转换成 false,其他都是转换成 true
2.逻辑运算的结果
-
!结果总是true或false。
先把数据转换成true或fasle,然后取反。 -
|| 具有短路功能。 (有真即真)
如果 第1个数 是 true 或者可以转换成 true,则结果就是第一个数。
如果 第1个数 是 fasle 或者可以转换成 false, 则结果就是第二个数。 -
&& 具有短路功能。(全真则真)
如果 第1个数 是 false 或者可以转换成 false,则结果就是第一个数。
如果 第1个数 是 true 或者可以转换成 true, 则结果就是第二个数。
3.判断运算符||和??的用法
- ||运算符:当某个属性或某个值为null、undefined、false、0、空字符串""时,结果是||后面的值
- ??运算符:当某个属性或某个值为null或undefined时,取??后面的值
例:
// 0,1分别代表关,开。默认值为1 开
let open=0
let open1 = open || 1 //0会被当成false,结果是1
let open2 = open ?? 1 //0不会转换,结果是0
console.log(0||1) //1
console.log(0??1) //0
console.log(""||1) //1
console.log(""??1) //""
console.log(false||1) //1
console.log(false??1) //false
console.log(null||1) //1
console.log(null??1) //1
console.log(undefined||1) //1
console.log(undefined??1) //1