La tercera palabra clave de declaración introducida por ES6 es similar a LET: const.
Echa un vistazo al uso:
const c1 = 1; const c2 = {}; const c3 = []; Object.getOwnPropertyDescriptor (ventana, "C1") // Object {Value: 1, Writable: False, Enumerable: True, Configurable: False}El ejemplo anterior dice que no puede asignar valores a C2, pero el contenido de C2 se puede cambiar porque C2 es un objeto. Ver el ejemplo:
c2.p1 = 1;
Del mismo modo, también puede agregar elementos a C3 porque C3 es una matriz.
Hay otro problema con constantes constantes, es decir, la declaración y la inicialización deben estar juntas, y después de la declaración, debe inicializarse:
'Use estricto'; const c4; // syntaxError no capturado: token inesperado;
Si elimina el punto y coma, aún informará un error. No discutiremos la situación en modo no rictamente aquí. Si está interesado, puede probarlo usted mismo.
Las variables declaradas por const son similares a las declaradas por let. La diferencia es que las variables declaradas por const solo se pueden asignar valores durante la declaración y no pueden modificarse a voluntad, de lo contrario causará sintaxerRor (error de sintaxis).
const max_cat_size_kg = 3000; // corrige max_cat_size_kg = 5000; // error de sintaxis (syntaxError) max_cat_size_kg ++; // Aunque ha cambiado, todavía causa errores de sintaxis
Por supuesto, el diseño de especificaciones es lo suficientemente sabio. Después de declarar variables con const, debe asignar valores, de lo contrario, también se lanzará un error de sintaxis.
const thefairest; // sigue siendo un error de sintaxis, desagradable