Las constantes son un tipo de dato fijo, ya que una vez es asignado no puede ser variado.
Veamos como declarar una constante.
const SUELDOBASE = 1000;
Una regla importante. Las constantes deben ser iniciadas siempre al declararse, de lo contrario ocurrirá un error.
Las constantes SIEMPRE las declararemos en mayúsculas. Esto no es obligatorio, pero es una buena práctica.
ÁMBITO DE LAS CONSTANTES. SCOPE
Tal como ocurre a las variables, las constantes también tienen un ciclo de vida. Por tanto, debemos saber, que se puede crear dos constantes con el mismo nombre, siempre y cuando una se encuentre en un proceso diferente. Veamos un ejemplo.
const SUELDO_BASE = 1000; if ( true ) { const SUELDO_BASE = 900; } console.log ("Sueldo base: ", SUELDO_BASE );
Comprobaremos que el resultado que nos aparece en la CONSOLA es el de la constante SUELDO_BASE = 1000.
Esto ocurre porque el ciclo de vida de la constante dentro del IF muere en el mismo IF. Por tanto no se propaga su valor.
Por consola aparecerá el valor de 1000.
TIPOS DE DELCARACIONES
Las constantes pueden ser declaradas de diferente forma, ya sean enteras, de texto, booleanas, etc. Además de las normalmente utilizadas, podemos declarar constantes del tipo objeto.
Veamos un ejemplo.
const ANIMAL = { nombre: "Leon", pais: "Africa", } console.log ("El animal es: " , ANIMAL );
Las constantes de tipo objeto no les ocurre lo mismo que a las constantes de tipo String o Integer, Por tanto, es importante recordar que estas si pueden ser modificadas
Por ejemplo, si le añadimos una modificación comrpobaremos que esta si se efectua sin ningún tipo de pro blema.
const ANIMAL = { nombre: "Leon", pais: "Africa", } ANIMAL.pais = "España"; console.log ("El animal es: " , ANIMAL );
Ahora podremos comprobar, como el país del objeto ANIMAL se ha cambiado la constante por «España».
Si intentamos modificar el objeto entero si ocurrirá un error. Por ejemplo
En el siguiente caso daría error porque se ha modificado el objeto entero.
const ANIMAL = { nombre: "Leon", pais: "Africa", } ANIMAL = { nombre: "Leon", pais: "España" } console.log ("El animal es: " , ANIMAL );
En este caso si indicará error en la consola porque se ha modificado en objeto por completo. Por tanto, deben tener esto en cuenta, ya que por un lado, si el objeto es modificado directamente por una de sus propiedades no dará ningún error, permitiendo realizar los cambios.
Bajo mi punto de visto, considero que esto no debería suceder, pues una constante no debería poder ser modificada, ni global ni de forma independiente.