带你认识js ! !! .? ??等等(持续更新)

1、 !

将变量转换成boolean类型,null、undefined和空字符串取反都为true,其余都为false

!null = true
 
!undefined = true
 
!'' = true
 
!12345 = false
 
!'abcde' = false

2、 !!

!! 常常用来做类型判断。先通过!转换类型后(见!的使用) ,再做逻辑取反运算

var a

if(!!a){
    //a有内容才执行的代码...  
}

等价于=>

if(a!=null&&typeof(a)!=undefined&&a!=''){
    //a有内容才执行的代码  
}

3、?.

let a
let b
a = b.name     // 报错

a = b?.name    // 不会报错,a为undefined

等价于=>

if(!!b){
	a = b.name
}else{
	a = undefined
}

4、??

let a
let b = null
let c = 1
a = b ?? c    //a 为 1

//当b除了undefined、或者null之外的任何值,a都会等于b,否则就等于c.

5、??=

??=左侧的值为null、undefined的时候,才会将右侧变量的值赋值给左侧变量.其他所有值都不会进行赋值.

let a
let b = 1
let c = '你好'
let d = 'hello'
a ??= c   // a 为 '你好'
b ??= d   // b 为 1

6、==

用来判断是否相等,当比较的两个值数据类型不同时,先进行隐式再判断是否相等。

1=="1" //true
""==0  //true
null==undefined //true
[]==0 //true
{}=={} //false
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值