Литералы шаблонов не работают в IE11, когда используется директива " use strict

символ обратной галочки не распознается как допустимый символ в IE11 при использовании директивы "use strict" во время работы в других браузерах, таких как Chrome.

какова интерпретация этого поведения с учетом того, что IE11 по-прежнему широко используется даже среди пользователей Windows 10??

        "use strict";

        function doIt() {
          let tt;
          tt = 50;
          alert(`${tt}`);
          alert("test");
        }
       doIt();

ошибка: { "сообщение": "недопустимый символ", "filename":"http://stacksnippets.net/js", "lineno": 18, "colno": 17 }

1 ответов


Если вы посмотрите на Таблица совместимости ECMAScript 6, вы увидите, что литералы шаблонов не поддерживаются IE11. The "use strict"; оператор на самом деле ничего не меняет, потому что прежде чем определить, находится ли код в строгом режиме, он должен быть сначала проанализирован, но он не может быть проанализирован, потому что вы используете синтаксис, который парсер не распознает.

Если вы хотите, чтобы ваш код работал в IE11, вы должны транспилировать его с помощью Бабель.