分享两个工作中常用的操作符:可选连和空值合并

?. 操作符

中文翻译为 可选链操作符 ,允许开发者读取深嵌在对象链中的属性值,而不必显示验证每个引用。当引用为空时,表达式停止计算并返回一个未定义的值

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
let johan = {
name: 'johan',
age: 28,
lover: {
name: 'masami',
age: 34
}
}

// 没有 ?. 操作符之前
const johanLover = johan.lover && johan.lover.name
console.log(johanLover)
// 使用 ?. 操作符
const johanLover = johan.lover?.name
console.log(johanLover) // masami
// 如果没有值则返回 undefined
const johanLover = johan.lover?.sex
console.log(sex) // undefined

?? 操作符

另一个会用的是空值合并 ??

控制合并可以真正的检查 nullish 值,而不是 falsely 值。什么是 nullish 值,什么又是 falsely 值?

falsely 值:空字符串、数字0、undefined、null、false、NaN 等

然后,很多情况下你指向检测一个变量是否为空值——undefined 或者 null,就像变量可以是一个空字符串甚至是一个假值

640

参考资料