es6: 解析空值合并运算符 ??


在处理输入框相关业务时,往往会判断输入框未输入值的场景,这个时候需要判断值不为‘ ’,null,undeifed。

经常会这么写

if(value !== null && value !== undefined && value !== ''){
    //...
}

其实不是很优雅,es6 中有一个 空值合并运算符 ?? 他的语法如下:

主要值 ?? 备用值

如果主要值(主要值不是 null 或 undefined)存在,则返回主要值;如果主要值为 null 或 undefined,则返回备用值。

所以非空判断中的null,undeifed 其实可以通过 空值合并运算符进行简化,如下:

if((value??'') !== ''){
  //...
}// 只要value 不为null或者undefined 返回value, 如果为null或者undefined,返回''此时条件(''!== '')是 false。
//就算value值为'' 有会只返回左边主要值,最终条件仍然是(''!== '')是 false。 
//由此来开,此写法,可以把 '',null,undefined 都杜绝了,妥妥的非空判断

所以下次遇到非空判断,这么写吧,优雅且小装一手。

声明:BenBonBen博客|版权所有,违者必究|如未注明,均为原创

转载:转载请注明原文链接 - es6: 解析空值合并运算符 ??


过去太迟,未来太远,当下最好