一、常用方案

直接判断

代码

<!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. 【Windows 访问控制】八、安全主体和安全对象

    安全主体(security principal)? 安全主体是任何可通过操作系统进行身份验证的实体,例如用户帐户.计算机帐户.在用户或计算机帐户的安全上下文中运行的线程或进程,或者这些帐户的安全组. ...

  2. 【vs2019 】调试技巧

    在这篇文章中,我们假定读者了解VS基本的调试知识,如: F5 开始使用调试器运行程序 F9 在当前行设置断点 F10 运行到下一个断点处 F5 从被调试的已停止程序恢复执行 F11 步进到函数内(如果 ...

  3. 为Visual Studio 2019设置 更改皮肤

    下载主题插件:Color Themes for Visual Studio 安装插件 下载完成后 关闭vs2019 完成初始化,初始化完成后,再次打开软件进行配置. 卸载插件 点击卸载,然后关闭vs2 ...

  4. 在Intellij IDEA中添加JUnit单元测试

    Intellij IDEA中添加JUnit单元测试 目录 Intellij IDEA中添加JUnit单元测试 下载jar包 在Intellij IDEA项目中添加jar包 下载插件并进行设置 创建存放 ...

  5. docker入门-docker应用场景和优势

    一.什么是docker Docker是一个使用 Go 语言开发的,并且开源的应用容器引擎,基于LXC(Linux Container)内核虚拟化技术实现,提供一系列更强的功能,比如镜像.Dockerf ...

  6. CV之各种不熟悉但比较重要的笔记

    解析: skip connection 就是一种跳跃式传递.在ResNet中引入了一种叫residual network残差网络结构,其和普通的CNN的区别在于从输入源直接向输出源多连接了一条传递线, ...

  7. 使用Three.js实现神奇的3D文字悬浮效果

    声明:本文涉及图文和模型素材仅用于个人学习.研究和欣赏,请勿二次修改.非法传播.转载.出版.商用.及进行其他获利行为. 背景 在 Three.js Journey 课程示例中,提供了一个使用 Thre ...

  8. 2. Java入门

    2.Java入门 2.1.安装开发环境 卸载JDK 删除Java的安装目录 删除JAVA_HOME 删除path下关于Java的目录 java -version 安装JDK 百度搜索JDK8,找到下载 ...

  9. yum 安装的历史与撤销(yum history undo )

    我们可以使用yum history 来查看yum的历史记录 想撤销安装则输入 yum history undo <ID号> 即可撤销yum的安装/升级

  10. VS Code配置Python环境

    Visual Studio Code配置Python环境 目录 Visual Studio Code配置Python环境 1.安装Python环境 2.安装VS Code 2.1 下载 2.2 配置中 ...