js中“==”,“===”,“!=”,“!==”,“!!”的区别和用法

= = == == = = = === ===的区别和用法

在js中"==""===",经常被用来判断两个变量是否相等,它们的区别在于前者会进行隐式类型转换比较
var a = "1"
var b = 1
a == b //只比较了内容,做了隐式类型转换
true
a === b //不仅比较内容,还比较了数据类型,不会做隐式类型转换
false
第一个比较只是比较了a和b的内容,第二个比较不仅比较了a和b的内容,还比较了a和b的数据类型

! = != != ! = = !== !==的区别和用法

和上面的类似,js中"!=""!==",经常被用来判断两个变量是否不相等,它们的区别在于前者会进行隐式类型转换比较
var a = "1"
var b = 1
a != b //只比较了内容,做了隐式类型转换
false
a !== b //不仅比较内容,还比较了数据类型,不会做隐式类型转换
true

! ! !! !!的用法

在js中,“!”是用来做逻辑运算的,可以与任何变量进行逻辑运算并将其转化为布尔值,“!!”则是在当前“!”的逻辑
再次取反运算,我称之为套娃运算
举个栗子:
var a  //我们要判断一个变量已声明并且不为null并且不为空字符串,你会想到怎么写
if(a!=null&&a!=undefined&&a!=''){
	//a有内容才执行的代码  
}
这样写吗?no,no,no。在知道"!!"的用法之前,你可以这样写,但是知道之后,你只需要这样,就行了
if(!!a){
	//a有内容才执行的代码... 
}	
事实上,就是进行了两次取反运算,并返回一个布尔值,注意a变量需要声明,如果变量未声明去判断的话会报错
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值