
Las expresiones const en javascript están sujetas a un alcance de bloque de la misma manera que las variables definidas mediante una expresión let, pero el valor de las constantes no se puede cambiar por reasignación ni se pueden volver a declarar.
Características generales
Las constantes son globales o locales y están sujetas a su definición de dominio, pero las constantes globales no se convertirán en propiedades del objeto global a diferencia de las variables definidas mediante var. Tenga en cuenta que es necesario inicializar el valor de la constante directamente, es decir, el valor debe proporcionarse en la misma expresión que declara la constante, lo que tiene sentido porque no es posible cambiar el valor de la constante más tarde.
Declarar constantes mediante const creará una referencia de solo lectura a un valor. Esto no significa que el valor asociado con las constantes no sea modificable, sino que el identificador de la variable no se puede reasignar a un nuevo valor. Por ejemplo, si el valor asociado con la constante es un objeto, significa que el contenido del objeto (es decir, sus propiedades) se pueden modificar.
Estructura const en javascript
const name1 = value1 [, name2 = value2 [, ... [, nameN = valueN]]];
nameN
El nombre de la constante y puede ser cualquier identificador JavaScript válido.
valueN
El valor de la constante, cualquier expresión válida se puede utilizar en JavaScript, incluidas las funciones.
Ejemplos y aplicaciones en código
El siguiente ejemplo demuestra el comportamiento de las constantes, pruébelo en la línea de comandos de su navegador (consola). Tenga en cuenta que podemos declarar constantes en mayúsculas o minúsculas, pero es una práctica común definir constantes en mayúsculas para que sean más fáciles de distinguir de las variables.
En el siguiente ejemplo, definiremos una constante con un nombre y le MY_FAX daremos el valor 7. Tenga en cuenta que intentar asignarle un nuevo valor arrojará un error, y una constante con el mismo nombre no se puede volver a declarar, y es no es posible crear variables (vía var o let) con el mismo nombre que la constante.
Es importante tener en cuenta cuál es el efecto de los dominios de bloque, es posible volver a declarar una variable (via let) con el mismo nombre que la constante, pero las variables declaradas vía varno serán específicas del campo de bloque y arrojará un error .
// Definir la constante y asignarla 7
const MY_FAV = 7;
// Uncaught TypeError: Assignment to constant variable.
MY_FAV = 20;
// 7
console.log('my favorite number is: ' + MY_FAV);
// Error de sintaxis no detectado: el identificador 'MY_FAV' ya ha sido declarado
const MY_FAV = 20;
// Este nombre está reservado para la constante y no se puede utilizar como variable
var MY_FAV = 20;
// tampoco permitido
let MY_FAV = 20;
// es importante notar el efecto de los campos de
if (MY_FAV === 7) {
// es posible crear una variable local con el mismo nombre que la constante
let MY_FAV = 20;
// 20
console.log('my favorite number is ' + MY_FAV);
// Se producirá un error porque esta variable se
var MY_FAV = 20;
}
// 7
console.log('my favorite number is ' + MY_FAV);Recuerda que es necesario asignar un valor a la constante al declararla, de lo contrario se lanzará un error. Tenga en cuenta también que las constantes se pueden usar con objetos y se puede acceder a sus propiedades:
// Error de sintaxis no detectado: Falta el inicializador en la declaración
const FOO;
// Las constantes se pueden usar con objetos
const MY_OBJECT = {'key': 'value'};
// Intentando asignar un nuevo objeto a la constante
// Uncaught TypeError: Assignment to constant variable.
MY_OBJECT = {'OTHER_KEY': 'value'};
// Pero las propiedades del objeto no están protegidas
// Por lo que se puede hacer lo siguiente sin problemas
MY_OBJECT.key = 'otherValue'; // Usa la función para hacer que el objeto sea inmutable Object.freeze ()
// lo mismo se aplica a las matrices
const MY_ARRAY = [];
// Es posible agregar nuevos elementos al arreglo
MY_ARRAY.push('A'); // ["A"]
// pero no puede asignarle una nueva matriz
/ Uncaught TypeError: Assignment to constant variable.
MY_ARRAY = ['B'];Soporte de navegadores
| Característica | Chrome | Firefox | IE | Ópera | Safari |
|---|---|---|---|---|---|
| Soporte básico | 21 | 36 | 11 | sí | 5.1 |
- Arguments en JavaScript
- Array en JavaScript
- Break en JavaScript
- Características Boolean en JavaScript
- Características Infinity en JavaScript
- Características JSON en JavaScript
- Características NaN en JavaScript
- Características Undefined en JavaScript
- Constructor Function en JavaScript
- Constructor Object en JavaScript
- Continue en JavaScript
- Date en JavaScript
- Declaración vacía o empty en JavaScript
- Error en JavaScript
- EvalError en JavaScript
- Expresión const en JavaScript
- Expresión let en JavaScript
- Expresión throw en JavaScript
- Expresión try…catch en JavaScript
- Expresión var en JavaScript
- Expresiones if…else en JavaScript
- Función decodeURI() en JavaScript
- Función decodeURIComponent() en JavaScript
- Función encodeURI() en JavaScript
- Función encodeURIComponent() en JavaScript
- Función escape() en JavaScript
- Función eval() en JavaScript
- Función isFinite() en JavaScript
- Función isNaN() en JavaScript
- Función parseFloat() en JavaScript
- Función parseInt() en JavaScript
- Función Symbol en JavaScript
- Función unescape() en JavaScript
- Math en JavaScript
- Number en JavaScript
- Promise en JavaScript
- RangeError en JavaScript
- ReferenceError en JavaScript
- RegExp en JavaScript
- Sentencia block en JavaScript
- String en JavaScript
- Switch en JavaScript
- SyntaxError en JavaScript
- TypeError en JavaScript










































