instalar - javascript español
¿Qué navegadores actualmente admiten la palabra clave ''let'' de JavaScript? (7)
A partir de abril de 2017:
Todos los principales navegadores actualizados como Chrome, Firefox y Edge admiten la palabra clave
let
ES2015 (también conocida como "ES6").iOS Safari no
let
hasta que OS 10 (por ejemplo, OS 9 no).Algunos navegadores más antiguos, como IE9-IE11, admiten una versión anterior de
let
pero no admiten la semántica definida por ES2015 (especialmente en relación con las declaraciones en los encabezados de los buclesfor
). Por lo tanto, no es un error de sintaxis, y declara la variable, pero no funciona de la manera que se supone. Por ejemplo, en una implementación correcta, los siguientes registros 0, 1 y 2; en IE9-IE11, registra 3, 3, 3:for (let i = 0; i < 3; ++i) { setTimeout(function() { console.log(i); }, i * 100); }
Los navegadores obsoletos como IE8 no lo admiten en absoluto.
Estoy desarrollando una aplicación y no tengo que preocuparme por Internet Explorer y estaba buscando algunas de las características presentes en los navegadores de grado A + que no están en Internet Explorer1.
Una de estas características con la que quería jugar es la palabra clave de dejar de JavaScript
Parece que no puedo usar ninguno de sus ejemplos ''let'' en Firefox 3.6 (cadena User-Agent : Mozilla / 5.0 (Windows; U; Windows NT 5.1; en-US; rv: 1.9.2) Gecko / 20100115 Firefox / 3.6 (.NET CLR 3.5.30729)). Obtengo SyntaxError: missing ; before statement
SyntaxError: missing ; before statement
al ejecutar let foo = "bar"
.
Entonces, ¿qué navegadores admiten la palabra clave let? (¿O estoy haciendo algo mal?)
Aparentemente, Internet Explorer 10 en modo Edge admite let
, según la información de la versión de JavaScript .
Esas extensiones no son ECMA-Standard, solo son compatibles con la implementación de Mozilla.
En los entornos del navegador, debe incluir el número de versión de JavaScript en la etiqueta del script
para usarlo:
<script type="application/javascript;version=1.7">
var x = 5;
var y = 0;
let (x = x+10, y = 12) {
alert(x+y + "/n");
}
alert((x + y) + "/n");
</script>
Ha transcurrido una gran cantidad de tiempo desde que se planteó por primera vez esta pregunta: las palabras clave ''let'' y ''const'' se han introducido en ECMAScript 2015 (ES6). Busque ''let'' or ''const'' en esta impresionante tabla de compatibilidad ES6: https://kangax.github.io/compat-table/es6/
Hay soporte casi completo en Internet Explorer ≥ 11 (falta solo for
alcance) y soporte completo en todos los navegadores actuales ( tabla de compatibilidad ECMAScript 6: let ).
Internet Explorer y Opera no admiten ninguna versión de navegador, Firefox desde la versión 2.0 y Safari desde 3.2.
Vea esta tabla de versión de JavaScript en Wikipedia.
Acabo de descubrir que necesita definir si usa JavaScript 1.7 o no. Entonces tu código será:
<script type="application/javascript;version=1.7"> ... </script>
Solo una actualización: Chrome ahora admite let
pero solo si declaras "use strict"
; directiva.