Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/typescript/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Angular 9和Typescript 3.8.3是否默认支持IE中的可选链接而不进行polyfill(core js)更改?_Typescript_Internet Explorer_Polyfills_Angular9_Optional Chaining - Fatal编程技术网

Angular 9和Typescript 3.8.3是否默认支持IE中的可选链接而不进行polyfill(core js)更改?

Angular 9和Typescript 3.8.3是否默认支持IE中的可选链接而不进行polyfill(core js)更改?,typescript,internet-explorer,polyfills,angular9,optional-chaining,Typescript,Internet Explorer,Polyfills,Angular9,Optional Chaining,我们正在将系统升级到angular 9.1.1,它有Typescript 3.8.3。@angular devkit/build-angular@0.901.1使用核心-js@3.6.4下面 我们希望在Typescript中开始使用可选的链接功能,而不是lodash_u2;.get e、 g 然而,我们仍然需要支持30%的IE用户。有人知道它是否默认为IE支持吗?如果没有,我们是否可以启用支持,例如在polyfill.ts中添加configure?我搜索了core js,没有看到任何与可选链接相

我们正在将系统升级到angular 9.1.1,它有Typescript 3.8.3。@angular devkit/build-angular@0.901.1使用核心-js@3.6.4下面

我们希望在Typescript中开始使用可选的链接功能,而不是lodash_u2;.get e、 g

然而,我们仍然需要支持30%的IE用户。有人知道它是否默认为IE支持吗?如果没有,我们是否可以启用支持,例如在polyfill.ts中添加configure?我搜索了core js,没有看到任何与可选链接相关的内容


非常感谢

可选的链接操作符在其中尚未达到跨浏览器稳定性。是的


您可以尝试使用来转换它。它可以将可选的链接运算符转换为一系列的零检查。

请参见TypeScript上的示例:

const obj: {
    outer?: {
        inner?: string
    }
} = {};

console.log(obj?.outer?.inner);

即使以ES2017为目标,可选的链接操作符也会编译成所有当前浏览器都能理解的基本JS代码


所以不必担心:)

事实证明,如果您使用的是Typescript 3.7或更高版本,则不需要polyfill(根据不支持,它们都可以工作。Typescript必须已转换为正确的JS语法。您可以将其作为答案发布,并将您的答案标记为已接受的答案。它可以在将来帮助其他社区成员解决类似问题。感谢您的理解。
const obj: {
    outer?: {
        inner?: string
    }
} = {};

console.log(obj?.outer?.inner);