javascript - Typecscript 是否与 IE9 100% 兼容——如果不是,它会在你编码时提示它不能做什么吗?

标签 javascript typescript internet-explorer-9

Typescript 是否总是将代码(ES6->ES5)转换为适合 IE9 的内容。如果是的话,你能提供证据吗,因为我找不到任何明确地说所有有效的 ES6 代码都将被转换为在 IE9 中工作的东西。 (各种消息来源表明它可以,但不清楚这是一般的事情还是完全是的,它只是有效)

如果不是,它是否警告或给出错误提示您不能使用功能 X。 例如,我从 Babel 站点 (https://babeljs.io/docs/learn-es2015/) 看到它不能转译或 polyfil 代理,所以我猜如果它不能将代理更改为有效的 ES6 之前的代码,那么 Typescript 会有同样的问题吗?

如果我再次查看 https://kangax.github.io/compat-table/es6/并说打开“解构,声明”然后它显示 Babel 有 21/22 而 TS 只有 15/22。这是否意味着 TS 不能像 Babel 那样工作?如果我使用 TS,如果我尝试使用这样的语法,它会警告我吗?

最佳答案

TypeScript 编译器生成的 JavaScript 代码不需要运行时库。这是一个设计选择。

在 ES6 的改进中,有两件事:

  1. 新的 ES6 语法
  2. 新的 ES6 API

新的 ES6 语法,如 class、箭头函数、constletfor of 都很好地转换为ES3,生成的代码将在IE8上运行。

TypeScript 不提供任何 API。一些 ES6 API 可以填充:PromiseArray.from 等。因此,我们可以将 TypeScript 与 es6-shim 一起使用。 ,例如。

有些 API,例如 Proxy,根本无法填充。

does it warn or give errors to say that you can’t use feature X

是的,但与 ES3 或 ES5 而不是 IE8 或 IE9 相比。

您仍然需要了解您的目标浏览器。

关于javascript - Typecscript 是否与 IE9 100% 兼容——如果不是,它会在你编码时提示它不能做什么吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37542099/

相关文章:

typescript - RXJS Subject - 阻止错误传播

typescript - 对象的类型为 'unknown' - forEach 和 map

可用于 IE9 的 CSS3 渐变替代方案

css - 为什么我的两个表在 IE9 中无法并排显示

javascript - 被拒绝的 HTTP promise 不会命中捕获 block

javascript - 如何从 AudioContext 获取缓冲区/原始数据?

javascript - 如何断言数组包含 JavaScript/脚本中的子字符串

html - ie8 和 ie9 中的表格单元格内容旋转错误

javascript - 为什么链接 promise 不起作用?

javascript - 另一个 html 页面滚动条问题中的 HTML/CSS/JavaScript Html 页面