??、?.、??=的意思

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

猜你喜欢

转载自blog.csdn.net/weixin_46054723/article/details/129991025