"?.","??","??=","!"基本用法

2022-05-17  本文已影响0人  可乐不可乐_6e02

空值合并操作符( ?? )ES2020

const a = b ?? c; // 解释为 如果b为null或undefined会给a赋值c,否则赋值为b,0 或 false都会赋值会b

逻辑空赋值( ??= )ES2022

let a = null; 
a ??= b; // 解释为 当左侧仅为null或undefined时b赋值给a

可选链( ?. )ES2020

一般用于多级对象里无法判断当前对象是否为空的情况

const a=b?.c?.d; // 类似于 const a = b && b.c && b.c.d; 

变量值可为空 ( ! )TypeScript

let x:number
x = null! // 如果不加!号会报错,加了!之后不会报错
let y:number = parma?.z!   // ! 一般用于对变量赋值时,如果只是调用就不需要用!
if((value??'') !== ''){
  //...
}
上一篇下一篇

猜你喜欢

热点阅读