Шаблонные литералы работают в другом браузере, кроме IE - PullRequest
0 голосов
/ 07 декабря 2018

Я работаю над javascript и использую «Шаблонные литералы», который работает в Chrome и Firefox, но не работает в Internet Explorer (IE).

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

Ответы [ 2 ]

0 голосов
/ 07 декабря 2018

Другой вариант, если вы уже используете 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>
0 голосов
/ 07 декабря 2018

Шаблонные литералы - 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)

...