TS实用技巧:?? 控制合并运算符

??空值合并运算符

判断非空时非常好用

1. 当左侧操作数为null或者undefined时,返回右侧的操作数,否则返回左侧的操作数,与||不同的是,逻辑或会在左侧操作数为falsy时(如:“”,0)返回右侧操作数,此时如果对空字符串或者0有意义时使用空值合并运算符会省去es5中的很多判断

 
  1. const data1 = 0

  2. // 如果data1是undefined或者null,data2=100

  3. const data2 = data1 ?? 100

  4. // es5实现

  5. const data2 = data1===undefined || data1===null ? 100 : data1

可用于短路,当空值合并运算符的做表达式不是null或者undefined时,不会对右侧表达式进行求职

 
  1. function A() { console.log('A was called'); return undefined;}

  2. function B() { console.log('B was called'); return false;}

  3. function C() { console.log('C was called'); return "foo";}

  4. console.log(A() ?? C());

  5. console.log(B() ?? C());

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值