Ya estoy inscrito ¿Todavía no tienes acceso? Nuestros Planes
Ya estoy inscrito ¿Todavía no tienes acceso? Nuestros Planes
Solucionado (ver solución)
Solucionado
(ver solución)
3
respuestas

Const no cambia, salvo ....

Estimados

Según lo explicado por el profesor Leonardo, "Const" es una variable cuyo valor no cambia (su valor es constante). Pero en el caso de un array, por lo que se aprecia en la clase, sí puede cambiar su valor, permitiendo ampliar o reducir los elementos de la lista. Esto por que se debe? Cual es el hecho de que permita modificar su contenido?

Saludos

3 respuestas

Entiendo que al hacer push no le estas reasignando un valor diferente al que ya tiene sino que le estas agregando un valor mas

En el ejemplo pasado dio error porque estas alterando un valor que fue asignado a la variable por ejemplo unirle por concatenacion al nombre un espacio y un apellio (nombre + " " + apellido) alli estas alterando el valor de la variable, sin embargo al hacer push no lo estas haciendo, no alteras el valor de las ciudades que ya hay como lo son Bogota Lima y Santiago sino que estas anhadiendo al array un valor mas

Estube leyendo y la respuesta la seria el final de lo siguiente:

"Esta declaración crea una constante cuyo alcance puede ser global o local para el bloque en el que se declara. Es necesario inicializar la constante, es decir, se debe especificar su valor en la misma sentencia en la que se declara, lo que tiene sentido, dado que no se puede cambiar posteriormente.

La declaración de una constante crea una referencia de sólo lectura. No significa que el valor que tiene sea inmutable, sino que el identificador de variable no puede ser reasignado, por lo tanto, en el caso de que la asignación a la constante sea un objeto, el objeto sí que puede ser alterado."

extracto sacado de : https://developer.mozilla.org/es/docs/Web/JavaScript/Reference/Statements/const

solución!

Hola, yo también tuve esa misma duda, y resulta que una declaración con const protege que un valor se sobreescriba, y en los ejemplos anteriores donde la variable era un valor único, al tratar de asignarle otro valor el const la protegía de que ese valor sea sobreescrito; sin embargo en un array sí que se puede insertar un valor en el array, ya que no está sobreescribiéndolo como tal solo "empujándolo". También funciona de esa misma manera si declaramos un const que contenga un objeto, no puedes reasignar ese objeto, pero sí puedes alterar su valor usando una propiedad propia de ese objeto.

const MY_ARRAY = [];

// es posible empujar elementos en el array MY_ARRAY.push('A'); // ["A"]

// Sin embargo, asignar un nuevo array a la variable lanza error MY_ARRAY = ['B']

// const tambien funciona en objetos const MY_OBJECT = {'key': 'value'};

// Intentando sobrescribir el objeto nos lanza un error MY_OBJECT = {'OTHER_KEY': 'value'};

// Sin embargo, los object keys no estan protegidas, // por lo que la siguiente sentencia se ejecutara sin problema MY_OBJECT.key = 'otherValue'; // Use Object.freeze() para hacer un objeto inmutable