首页 > 解决方案 > 在 IE 以外的其他浏览器上工作的模板文字

问题描述

我正在使用 javascript 并使用“模板文字”,它适用于 Chrome 和 Firefox,但不适用于 Internet Explorer(IE)。

var a = 10;
console.log(`${a}`)

标签: javascriptjquerygoogle-chromeinternet-explorerfirefox

解决方案


模板文字是 ES6,IE 支持的ES6 特性很少。它不支持模板文字。

对于您正在做的事情,只需执行以下操作console.log(a)

var a = 10;
console.log(a)

但是如果你的真实代码比这更复杂,你要么必须手动连接,例如:

`foo${somevar}bar${somevar2}baz`

改成

'foo' + somevar + 'bar' + somevar2 + 'baz'

或者,如果你喜欢模板文字的语法而不喜欢纯字符串连接,一个更好的选择是将 Babel 集成到你的构建过程中,以自动将 ES6+ 语法(包括模板文字)转换为 ES5 :

https://babeljs.io/repl/

(Babel 不仅会转译模板文字,它还会转译几乎所有较新的语法到 ES5,如解构、箭头函数、async/await等 - 对于更大的代码库,这非常重要,允许程序员编写最新的和最好的语言版本,同时保持与 IE 等古老浏览器的兼容性)


推荐阅读