JS中的逻辑运算符&&和||

1.JS中的&&

只要"&&"前面为false,无论"&&"后面是true还是false,都返回"&&"前面的值;

只要"&&"前面为true,无论"&&"后面是true还是false,都返回"&&"后面的值。

console.log(false && true)  //打印false
console.log(false && null)  //打印false

console.log(true && 1)  //打印1
console.log(true && false)  //打印false

"&&"可以理解为获取表达式中的第一个false值对象,如果没有false值对象,则返回最后一个对象。

2.JS中的||

只要"||"前面为true,无论"||"后面是true还是false,都返回"||"前面的值;

只要"||"前面为false,无论"||"后面是true还是false,都返回"||"后面的值。

console.log(true || 1)  //打印true
console.log(true || 0)  //打印true

console.log(false || 1) //打印1
console.log(false || 0) //打印0

"||"可以理解为获取表达式中的第一个true值对象,如果没有true值对象,则返回最后一个对象。

3.JS中非bool对象的bool值

在JS的非bool对象中,只有null、undefined、""、NaN、0会被判定为false,其他的全部是true。

for (let i of [null, undefined, '', 0, NaN]) {
  console.log(!!i)  //全部打印false
}
posted @ 2020-09-06 15:27  心流flux  阅读(424)  评论(0)    收藏  举报