1、babel 插件 @babel/plugin-proposal-optional-chaining 简化代码。(从 coffescript、kotlin、swift、c# 用法相似)

https://babeljs.io/docs/en/next/babel-plugin-proposal-optional-chaining

使用场景: 获取深层嵌套属性值

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
const obj = {
foo: {
bar: {
baz: 42,
},
},
};

const baz = obj?.foo?.bar?.baz; // 42

const safe = obj?.qux?.baz; // undefined

// Optional chaining and normal chaining can be intermixed
obj?.foo.bar?.baz; // Only access `foo` if `obj` exists, and `baz` if
// `bar` exists

// Example usage with bracket notation:
obj?.['foo']?.bar?.baz // 42