微软正式为开发者们带来了最新的 TypeScript 3.7 版本。在本版本中,TypeScript 支持了第 16 个 issue 中提到的 Optional Chaining。

当我们在写 TypeScript 时,如果遇到一个 null 或 undefined 的对象,它会停止后面的代码执行。例如:

1
let x = foo?.bar.baz();

当 foo 被定义时,foo.bar.baz() 会被执行,但当 foo 为 null 或 undefined 时,会停止执行并返回 undefined。
更准确地说,该代码段执行结果与以下代码结果一致:

1
2
3
let x = (foo === null || foo === undefined) ?
undefined :
foo.bar.baz();

关于 TypeScript 3.7 的更多特性,可查看 → Release Notes