JS三元表达式与”||“的关系

17 篇文章 0 订阅

今天合并同事的代码的时候,看到接口传参里面有用到三元表达式,类似下面这种

param = {
    uuId: this.xxx.xxx.id ? this.xxx.xxx.id : null,
    morgId: this.xxx.xxx.morgid ? this.xxx.xxx.morgid : null,
    ...
    ...
    ...
}

整个篇幅很长,令人头大,当时就好奇为啥不直接 用 ”||“运算符,

param = {
    uuId: this.xxx.xxx.id || null,
    morgId: this.xxx.xxx.morgid || null,
    ...
    ...
    ...
}

一时间产生了 三元表达式 可以被 ||  替代的想法,那为什么还会有三元表达式呢,难度因为出现的早?然后仔细想了一下,以下方式三元表达式(又叫三目,三元运算符)无法被 || 替代

a ? b : c  // 选择结果与判断条件无关的时候

a ? a : b ? b : c  // 三元表达式可以连写,当然为了便于理解 不建议超过三层

a ? b : c ? c : d  // 等等

总上所述,||  运算符可以替代 简单的(部分)三元表达式,而不能简单的混为一谈,视情况使用,当然代码能省还是得省,看着舒服~_~

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值