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

本文整理一些 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'

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

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

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

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

a = obj?.name || 'default'

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

猜你喜欢

转载自blog.csdn.net/qq_39025670/article/details/110238803