ES2015 (ES6) introdujo la palabra clave const para definir una nueva variable. La diferencia en la declaración de variables constantes con respecto a otras es que no se puede reasignar.
Propiedades:
- No se puede reasignar.
- Ámbito de bloque
- Se puede asignar en la variable en la línea de declaración.
- Valor primitivo.
- La propiedad de un objeto const se puede cambiar pero no se puede cambiar para hacer referencia al nuevo objeto
- Los valores dentro de la array constante se pueden cambiar, puede agregar nuevos elementos a las arrays constantes pero no puede hacer referencia a una nueva array.
- Se permite volver a declarar una variable const dentro de un ámbito de bloque diferente.
- No se puede izar.
- Crear referencia de solo lectura al valor.
Ejemplo 1: Describe que la variable const no se puede reasignar.
<script type="text/javascript"> const x = 12; x = 13; x += 1; </script>
Producción:
Uncaught TypeError: Assignment to constant variable.
Ejemplo 2: Describe la variable const que contiene el Block Scope.
<script type="text/javascript"> const x = 22; { const x = 90; console.log(x); { const x = 77; console.log(x); } { const x = 45; console.log(x); } } console.log(x); </script>
Producción:
90 77 45 22
Ejemplo 3: Describe la variable const y la asigna después de la declaración.
<script type="text/javascript"> const x; x = 12; </script>
Producción:
Uncaught SyntaxError: Missing initializer in const declaration
Ejemplo 4: Describe que la variable const no puede ser Hoisted.
<script type="text/javascript"> x = 3; console.log(x); const x; </script>
Producción:
Uncaught SyntaxError: Missing initializer in const declaration
Ejemplo 5: describe que los valores de la array se pueden modificar, solo que la referencia a la array no se puede cambiar.
<script type="text/javascript"> // Changing the content of array is // possible in cost array const arr1 = ["pankaj", "sumit", "chandan", "ajay"]; console.log(arr1.toString()); arr1[2] = "Narayan"; // possible console.log(arr1.toString()); </script>
Producción:
pankaj, sumit, chandan, ajay pankaj, sumit, Narayan, ajay
Ejemplo 6: Describe que las propiedades del objeto se pueden modificar, solo que la referencia al objeto no se puede cambiar.
<script type="text/javascript"> const person = { first_name: "Pankaj", last_name: "Singh", Age: 20, About: "Web Developer and Competitive Programmer" }; console.log(person); // It is possible person.first_name = "Aryan"; person.last_name = "Yadav"; person.Age = 22; person.About = "Commerce undergraduate"; console.log(person); // it is not possible // const person={ // "first_name":"Aryan", // "last_name":"Yadav", // "Age":22, // "About":"Commerce undergraduate" // } </script>
Producción:
Navegadores compatibles:
- cromo 21 y superior
- Borde 12 y superior
- Firefox 36 y superior
- Internet Explorer 11 y superior
- Ópera 9 y superior
- Safari 5.1 y superior
Publicación traducida automáticamente
Artículo escrito por Pankaj_Singh y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA