一、常用方案

直接判断

代码

<!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. Ubuntu更新命令无法执行的,下一步该怎么办?

    对Linux的系统学习的更加深入,所以今天笔者正在Ubuntu20.04 LTS 上部署Sublime Text 的环境时 , 由于对操作的不熟悉,踩了一些坑.拿出来和大家分享. 正在我对照着官方文档 ...

  2. 【C# 线程】并发编程的基石——CAS机制

    其实Java并发框架的基石一共有两块,一块是本文介绍的CAS,另一块就是AQS,后续也会写博客介绍. 什么是CAS机制 CAS机制是一种数据更新的方式.在具体讲什么是CAS机制之前,我们先来聊下在多线 ...

  3. 由浅入深--ORM简介

    一.ORM简介 从传统的JDBC开始说起 下面是通过JDBC连接Oracle的步骤,如下代码所示: Connection conn = null; PreparedStatement stmt = n ...

  4. 数据分析logistic回归与时间序列

    logistics回归 1.影响关系研究是所有研究中最为常见的. 2.当y是定量数据时,线性回归可以用来分析影响关系. 3.如果现在想对某件事情发生的概率进行预估,比如一件衣服的是否有人想购买? 这里 ...

  5. 【转载】深入浅出SQL Server中的死锁

    essay from:http://www.cnblogs.com/CareySon/archive/2012/09/19/2693555.html 简介 死锁的本质是一种僵持状态,是多个主体对于资源 ...

  6. LGP3449题解

    其实每个串都不是回文串也能做的说... 题意:给定 \(n\) 个互不相同的串,两两拼接一共能够拼出 \(n^2\) 个串,问这 \(n^2\) 个串中有几个回文串. 首先假设拼接出来的串是 \(AB ...

  7. ArcMap操作练习题目及答案

    题目: 1.主观题(20分)用文字说明中学选址的过程,并说明分析过程中所用的空间分析方法和分析工具. 2.主观题(10分)计算目标区内道路网的密度.(数据框1) 3.主观题(20分)对roadnet里 ...

  8. CSS 选择器学习总结

    1.id 选择器 #idname{color:red;} 2.class选择器 .classname{} 3.标签选择器 div{} 4.通配符选择器 *{} 5. 属性选择器 [id]{ } 5.选 ...

  9. 前端知识之css样式

    前端之CSS样式 css介绍 css是为html标签设置样式的 css由选择器和声明组成 声明包括属性和属性值 声明之间用分号:隔开 css注释 /注释类容/ css的几种引入方式 行内样式 不推荐使 ...

  10. 7月2日 Django注册页面的form组件

    forms.py里注册页面的form组件 # Create your views here. class RegForm(forms.Form): username = forms.CharField ...