ES6中用&&与||来简化if{}else{}写法

Posted jimc

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ES6中用&&与||来简化if{}else{}写法相关的知识,希望对你有一定的参考价值。

1.if{}else{}写法

const o = {v: 100};
if (o) {
    console.log(‘有值:‘ + v.o)
} else {
    console.log(‘无值‘)
}

如果传入的对象为非空,则打印对象的属性值;否者无输出值。

2.ES6中用&&与||用法

const o = {v: 100};
const t = o && o.v; // 100

const b = false;
const t1 = b || ‘100‘; // 100

a() && b()

如果执行a()后返回true,则执行b()并返回b的值;如果执行a()后返回false,则整个表达式返回a()的值,b()不执行;

a() || b()

如果执行a()后返回true,则整个表达式返回a()的值,b()不执行;如果执行a()后返回false,则执行b()并返回b()的值;

a() && b() || c()

如果执行a()后返回true,则执行b()并返回b的值,不执行c();如果执行a()后返回false,则执行c()并返回c()的值;

&& 优先级高于 ||;

以上是关于ES6中用&&与||来简化if{}else{}写法的主要内容,如果未能解决你的问题,请参考以下文章

块级作用域问题ES5 & ES6

如果序列,我怎样才能简化这个?

IF 语句 - 如何减少/简化源代码量

es6object.is()&&==&&===

es6:空值合并运算符

php,如何简化一个 php 脚本?