JS 常用运算符/操作符,让编码更简洁

本文介绍了JavaScript中的一些常用运算符,包括逻辑非(!), 逻辑与(&&), 逻辑或(||), 空值合并(??), null传导符(?.), 扩展运算符(...), 三元运算符以及连等赋值操作,并通过实例展示了如何利用这些运算符简化代码,提高编程效率。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

本文整理一些 JS 中常用的运算符/操作符,其目的在于简化代码。

1. ! 逻辑非

如果要将一个值转为 Boolean 类型,我们常想到 Boolean() 转型函数来实现,其实也可以用 ! 逻辑非运算符实现

!!val // 等价于 Boolean(val)

2.&& 逻辑于

对于以下代码可以用 && 逻辑于改写

if (val) {
  myFunction()
}

改写后

val && myFunction()

对于赋值语句也可以这样写

val && (a = 1)

3. || 逻辑或

对于 2 中的例子,我们也可以用逻辑或改写

!val || myFunction()

另外,假如有如下代码

if (val) {
  a = val
} else {
  a = 'default'
}

改写后

a = val || 'default'

4.?? 空值合并/空判断

空值合并运算符 , 如果 ?? 前面是 null 或 undefined ,取后面的默认值

a = val ?? 'default'

应用场景:

if(value !== null && value !== undefined && value !== ''){
  //...
}

 可将上面代码优化为:

if((value??'') !== ''){
  //...
}

5. ?. null 传导符(或链判断操作符)

在编程中,如果读取对象的内部的某个属性,往往需要判断该对象是否存在,以防止报错。

a = (obj && obj.name) || 'default'

以上代码可以使用 null 传导符简写

a = obj?.name || 'default'

常见用法:

  • obj?.prop  对象属性
  • obj?.[expr]  对象属性(数组也可如此使用)
  • func?.(...args)  函数或对象方法的调用 

6. ... 扩展运算符

- 对象的扩展运算符

const { id, ...other } = { id: '001', age: 18, name: 'Tom' }
id // 001
other // { age: 18, name: 'Tom' }

- 数组的扩展运算符

const arr = [1, 2]
[0, ...arr] // [0, 1, 2]

7.三元运算符

a = val ? ifTrue : ifFalse

val 为真,则 a 取值 ifTrue ,否则取值 ifFalse

8.连等赋值操作

这个操作我们也能经常看见,但我自己并不常用

let a,b
a = b = 1
a // 1
b // 1

以上代码等价于

let a,b
b = 1
a = b

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值