web-dev-qa-db-fra.com

La syntaxe des littéraux de modèle ne fonctionne pas dans IE11

Le caractère back-tick n'est pas reconnu comme un caractère valide dans IE11 lors de l'utilisation de la directive "use strict" alors qu'il fonctionne dans d'autres navigateurs, tels que Chrome.

Quelle est l'interprétation de ce comportement en tenant compte du fait qu'IE11 est encore largement utilisé même parmi les utilisateurs de Windows 10 ??

        "use strict";

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

Erreur: {"message": "Caractère non valide", "nom de fichier": " http://stacksnippets.net/js ", "lineno": 18, "colno": 17}

20
usefulBee

Si vous regardez le tableau de compatibilité ECMAScript 6 , vous verrez que les littéraux de modèle ne sont pas pris en charge par IE11. Le "use strict"; l'instruction ne change vraiment rien, car avant de déterminer si un code est en mode strict, il doit d'abord être analysé, mais il ne peut pas être analysé, car vous utilisez une syntaxe que l'analyseur ne fait pas reconnaître.

Si vous voulez que votre code fonctionne dans IE11, vous devez le transpiler avec Babel .

43