class Picture { constructor(icon) { this.icon = icon } } Cuando ejecuto este código dos veces en la consola de Chrome, no arroja ningún error. Pero cuando intento ejecutarlo dos veces en la consola de Firefox, dice Uncaught SyntaxError: redeclaration of let Picture . ¿Por qué los navegadores se comportan de manera diferente?
Una clase no se puede redefinir. En realidad, es una variable de ámbito de bloque.
Si está experimentando con código en un navegador web, como la consola web de Firefox (Herramientas > Desarrollador web > Consola web) y 'Ejecuta' una definición de una clase con el mismo nombre dos veces, obtendrá un SyntaxError: redeclaración de let ClassName;
Se permite la redeclaración de let/const en la consola de Chrome. Ejecute la siguiente declaración dos veces:
let x = 2;Verifique esta respuesta SO y este enlace del blog de Chrome
Sin embargo, no se permite la redeclaración dentro de la misma línea de la consola.