1.空合并运算符(??)
只有当左侧为null和undefined时,才会返回右侧的数
var foo=null??"string"
console.log(foo)//string
var foo=0????"string"
console.log(foo)//0
2. NULL检查运算符(?.)
?.叫做可选链,只有当a存在,同时a具有name属性的时候,才会把值赋给b,否则就会将undefined赋值给b.重要的是,不管a存在与否,这么做都不会报错.
var a;
var b = a?.name;
console.log(b)//undefined
3. 为空值赋值运算符(??=)
当??=左边的的值为undefined或者null的时候,才会将右侧变量的值赋值给左侧变量.其他所有值都不会进行赋值.
var a=null
var b="string"
console.log(a??=b)//string