一、常用方案

直接判断

代码

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title> </head>
<body>
<input type="button" onclick="testIfNull()" value="testIfNull" />
</body>
<script>
function testIfNull() {
var wzw1 = '1';
if(wzw1)// true
{
console.log('正常');// 执行
} var wzw2 = '';
if(wzw2)// false
{
console.log('判断’‘');// 不执行
} var wzw3 = null;
if(!!wzw3)// false
{
console.log('判断null');// 不执行
} var wzw4
if(wzw4)// false
{
console.log('判断undefined');// 不执行
} var wzw5 = 0;
if(wzw5)// false
{
console.log('判断0');// 不执行
}
}
</script>
</html>

效果

二、今日看到的ES6方案

用(wzw??'') !== '' 判断

我的解析:

对wzw进行判断,如果??是只要前面是null underfined 就取后面的值 不然取前面的

而后面的值也‘’空,而在外一成又判断不等于‘’所以这里是3种判空

分别是: null 和 undefined 和 ‘’ 

代码

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title> </head>
<body>
<input type="button" onclick="testIfNull()" value="testIfNull" />
</body>
<script>
function testIfNull() {
var wzw1 = '1';
if((wzw1??'') !== '')// true
{
console.log('正常');// 执行
} var wzw2 = '';
if((wzw2??'') !== '')// false
{
console.log('判断’‘');// 不执行
} var wzw3 = null;
if((wzw3??'') !== '')// false
{
console.log('判断null');// 不执行
} var wzw4
if((wzw4??'') !== '')// false
{
console.log('判断undefined');// 不执行
} var wzw5 = 0;
if((wzw5??'') !== '')// false
{
console.log('判断0');// 执行
}
}
</script>
</html>

效果

总结

可以用if((value??'') !== '') 来替代  if(value || value ===0)对0进行放行

代码

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title> </head>
<body>
<input type="button" onclick="testIfNull()" value="testIfNull" />
</body>
<script>
function testIfNull() {
var wzw1 = '1';
if((wzw1??'') !== '')// true
{
console.log('正常');// 执行
} var wzw5 = 0;
if((wzw5??'') !== '')// false
{
console.log('判断if((wzw5??\'\') !== \'\')');// 执行
} if(wzw5 || wzw5 === 0){
console.log("判断if(wzw5 || wzw5 !== 0");// 执行
}
}
</script>
</html>

结果

ES6技术之“判空方案”的更多相关文章

  1. Java使用Optional与Stream来取代if判空逻辑(JDK8以上)

    Java使用Optional与Stream来取代if判空逻辑(JDK8以上) 通过本文你可以用非常简短的代码替代业务逻辑中的判null校验,并且很容易的在出现空指针的时候进行打日志或其他操作. 注:如 ...

  2. java中判空

    一.概述 java中判等似乎很简单,==用来判断对象引用(内存地址)是否相同,equals用来判断值是否相同.你可以试用String对象轻松区分这一点. 那么在null判等(也就是判空操作)时呢? 可 ...

  3. JSTL: empty 可以减少很多繁冗的判空(转)

    ${empty student.name }Empty是判空为空返回的真不为空返回的是假 ${(empty student.name)? '空' : '非空'} <c:if test=" ...

  4. mybatis xml的无效判空

    <insert id="insert"> <if test="xxxMappingEntityList != null and xxxMappingEn ...

  5. StringUtils工具类常用方法汇总1(判空、转换、移除、替换、反转)

      Apache commons lang3包下的StringUtils工具类中封装了一些字符串操作的方法,非常实用,使用起来也非常方便.最近自己也经常在项目中使用到了里面的一些方法,在这里将常用的方 ...

  6. 运算符关键字。数据区别大小写。日期范围。判空的两种写法。NOT IN的两种写法。IN范围可含NULL,但NOT IN值范围不能含NULL。

    比较:>,<,=,>=,<=,<>(!=) 逻辑:AND,OR,NOT 范围:BETWEEN...AND... 范围:IN,NOT IN 判空:IS NULL, I ...

  7. 使用foreach需要判空。

    今天写代码的时候,需要遍历一个作为参数传递进来的容器, 当时顺手就加上了判空条件: if(null==list)return; 后来就像,不知道遍历(foreach)有没有帮我做这个工作: 下面看实验 ...

  8. jquery判空 string类型的日期比较大小

    jquery 判空 if(value.length<=0){  alert("kongzhi"); } jquery string类型的日期比较大小 var startTim ...

  9. jeecg中excel导出字段判空处理

    我们清楚,jeecg 导出 excel 采用的是 easypoi,不知道是否遇到过这种情况: 我们以一个实体属性为例: @Excel(name="问题分类",dicCode=&qu ...

随机推荐

  1. 【C#表达式树 七】 反射在表达式树中的应用 ListInitExpression

    以下都是反射在表达式树中的应用 对象初始化 Expression.MemberInit 反射获取成员(字段 或者属性),绑定数据,然后生成 成员表达式节点 class Animal { public ...

  2. netty系列之:EventExecutor,EventExecutorGroup和netty中的实现

    目录 简介 EventExecutorGroup EventExecutor EventExecutorGroup在netty中的基本实现 EventExecutor在netty中的基本实现 总结 简 ...

  3. oj教程--排序算法(Java)

    import java.util.ArrayList; import java.util.List; /** * 排序算法主类 * * @author eric */ class SortArray ...

  4. GAN实战笔记——第六章渐进式增长生成对抗网络(PGGAN)

    渐进式增长生成对抗网络(PGGAN) 使用 TensorFlow和 TensorFlow Hub( TFHUB)构建渐进式增长生成对抗网络( Progressive GAN, PGGAN或 PROGA ...

  5. pyqt(二)

    二.文本和图片 1. 文本控件 文本控件是QLabel from PyQt5.QtWidgets import QWidget,QApplication,QLabel from PyQt5.QtCor ...

  6. web -- ssrf

    web学习之SSRF 最开始玩ctf接触的就是web但是随着开始逐渐专注于pwn,在加之web的知识体系本来就繁杂,所以准备写一期关于web大体的知识 day1 SSRF SSRF(Server-Si ...

  7. phpstorm xdebug 断点测试

    参考博客: https://blog.csdn.net/J2778322217/article/details/123111960?spm=1001.2014.3001.5502 https://no ...

  8. 微信小程序搜索并高亮关键字

    更多解读可使用博客: https://www.jianshu.com/p/86d73745e01c 实现流程:1.在文本框中输入关键字key,如"比赛",检索出比赛相关的列表key ...

  9. java.sql.SQLException: Unable to load authentication plugin 'caching_sha2_password'.

    原来是mysql5.X,升级到8.X,连接数据库就报错: Unable to load authentication plugin 'caching_sha2_password'. 原因分析: 可能为 ...

  10. CF587F&CF547E题解

    这两道题好像啊 贡献一种使用SAM和ACAM草两道题的方法 下面假装有 \(O(\sum |S|=m)=O(n)\). 你看看,这CF换过多少个出题人啦?换汤不换药啦!其实这两道题是同一个人出的 CF ...