布尔运算符分为四种:

取反运算符(!)

且运算符(&&)

或运算符(||)

三元运算符( ? 表达式1 : 表达式2 )


取反运算符(!)且运算符(&&)或运算符(||)三元运算符( ? 表达式1 : 表达式2 )

取反运算符(!)
取反运算符(!)用于将任何值转换为布尔值后再变为相反值,即true变false,false变true
取反运算符对以下六个值返回false,其余都返回true:

undefined

null

''

false

0

NaN
undefinednull''false0NaN如果对一个值取反两次,则相当于将其转换为了布尔值,与Boolean()函数的作用相同
!!1 等同于Boolean('1')且运算符(&&)
且运算符(&&)
且运算符用于多个表达式: 表达式1 && 表达式2
运算规则: 如果第一个运算子返回true,则返回第二个运算子的值(不是布尔值);如果第一个运算子返回false,则返回第一个运算子,且不再对第二个运算子求值(短路)
// 'a'转换为boolean为true,所以直接返回第二个运算子''
'a' && ''
// ''转换为boolean为false,所以直接返回第一个运算子 ''
'' && 'a'

// 'a'转换为boolean为true,所以直接返回第二个运算子''
'a' && ''// ''转换为boolean为false,所以直接返回第一个运算子 ''
'' && 'a'
或运算符(||)
或运算符(||)
或运算符也用于多个表达式的值
运算规则: 如果第一个运算子的布尔值为true,则直接返回第一个运算子的值;如果第一个运算子的布尔值为false,则返回第二个运算子的值
// ''的布尔值为false,所以这里返回'b'
'' || 'b'
// 'b'的布尔值为true,所以这里返回'b'
'b' || ''

// ''的布尔值为false,所以这里返回'b'
'' || 'b'
// 'b'的布尔值为true,所以这里返回'b'
'b' || ''
或运算符常用语为一个变量设置默认值三元运算符三元运算符表达式1 ? 表达式2 : 表达式3;
如果表达式1的布尔值为true,则返回表达式2;如果表达式1的布尔值为false,则返回表达式3以上就是本文的全部内容,希望对大家的学习有所帮助。