在IE以外的其他浏览器上工作的模板文字

时间:2018-12-07 05:00:51

标签: javascript jquery google-chrome internet-explorer firefox

我正在使用javascript并使用在Chrome和Firefox上运行的“模板文字”,但在Internet Explorer(IE)上却无法使用。

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

2 个答案:

答案 0 :(得分:2)

模板文字是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等古代浏览器的兼容性)

答案 1 :(得分:0)

另一种选择是,如果您已经在使用lodash来切换到其_.template函数,那么它不仅具有模板功能,而且具有wide browser support的功能。

var compiled = _.template('hello ${ user }!');
console.log(compiled({ 'user': 'pebbles' }));   // => 'hello pebbles!'
<script src="https://cdnjs.cloudflare.com/ajax/libs/lodash.js/4.17.10/lodash.min.js"></script>