Optional-Chaining 操作符是一個二元操作符, 其含義為: 如果其左值為 null/undefined, 則整體返回 undefined; > 否則返回其右值。
就是為了減少這樣的操作
const city =
apiResult &&
apiResult.office &&
apiResult.office.primary &&
apiResult.office.primary.city;
實(shí)現(xiàn)這樣的:
// 例子 17-1
const obj = {
foo: {
bar: {
baz: 42,
},
},
};
const baz = obj?.foo?.bar?.baz; // 42
使用情景:
// Optional Chaining 的語法有三種使用場景:
obj?.prop // optional static property access
obj?.[expr] // optional dynamic property access
func?.(...args) // optional function or method call
簡單來說语卤,代碼片段:
let name = movie.director?.name;
// 相當(dāng)于
let name;
if (movie.director != null) {
name = movie.director.name;
}