- ! 逻辑非
- !可以对一个值进行非运算
- 它可以对一个布尔值进行取反操作
true 变成 false
false 变成 true
- 如果对一个非布尔值进行取反,它会将其先转换为布尔值,再进行取反操作
可以利用这个特点将其他类型转换为布尔值
<script>
/*
! 逻辑非
- !可以对一个值进行非运算
- 它可以对一个布尔值进行取反操作
true 变成 false
false 变成 true
- 如果对一个非布尔值进行取反,它会将其先转换为布尔值,再进行取反操作
可以利用这个特点将其他类型转换为布尔值
-
*/
let a = true
a = !a
console.log(typeof a,a)
let b = 1
b = !b
console.log(typeof b,b)
</script>
类型转换总结:
- 类型转化
转换为字符串
显式转换
String()
隐式转换
与字符串相加: + “ ”
转换为z数值
显式转换
Number()
隐式转换
与数值相加: +
转换为布尔值
显式转换
Boolean()
隐式转换
!!(在取非之后再取非,就变成了原先变量所代表的布尔值了)