我们正在将系统升级到angular 9.1.1,该系统具有Typescript 3.8.3。@angular devkit/build-angular@0.901.1使用core-js@3.6.4在下面
我们希望开始在Typescript中使用可选的链接功能,而不是lodash_.get例如
object?.a?.b?.c
rather than
_.get(object, 'a.b.c', 'default');
然而,我们仍然需要支持30%的IE用户。有人知道IE是否默认支持它吗?如果没有,我们是否可以打开支持,例如在polyfill.ts中添加configure?我搜索了核心js,没有发现任何与可选链接有关的内容。
非常感谢!
可选的链接运算符处于第4阶段,尚未达到跨浏览器的稳定性。IE不支持它。
您可以尝试使用@babel/plugin-proposal-optional-chaining
来转换它。它可以将可选的链接运算符转换为一系列零检查。
请参阅TypeScript Playground:上的此示例
const obj: {
outer?: {
inner?: string
}
} = {};
console.log(obj?.outer?.inner);
游乐场链接
即使在瞄准ES2017时,可选的链接运算符也被编译为所有当前浏览器都能理解的基本JS代码。
因此无需担心:(