空值合并运算符 ??

空值合并运算符(??)是一个逻辑运算符,当左侧操作数为 null 或 undefined 时,返回右侧的操作数,否则返回左侧操作数,出于安全原因,禁止将??运算符与 && 和 || 运算符一起使用

 

注意:?? 运算符的优先级非常低,只略高于?和 =

         如果没有明确添加括号,不能将其与 || 或 && 一起使用

 

案例1:

1 const a = null ?? 'hello'
2 console.log(a)   // 输出:hello  ( null 符合条件所以返回右侧值 )
3 
4 const b = 0 ?? 'hello'
5 console.log(b)   //  输出:0    (0不等于null也不等于undefined,所以返回左侧值)

 

 

案例2:关于输入框非空的判断

1 if ( value !== null && value !== undefined && value !== '' ){
2        // ...
3 }
4 
5 // 上面的代码过于繁琐要判断很多个条件 可以运用空值运算符进行编写
6 
7 if ( value  ??  ''  !== '' ){
8      // ...
9 }

 

posted @ 2021-10-11 14:39  Naynehcs  阅读(335)  评论(0编辑  收藏  举报