Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

122
Vistas
¿Por qué los elementos de la matriz javascript const son mutables?

Parece bastante contrario a la intuición que las matrices declaradas como constantes tengan elementos mutables. ¿Cuál es el razonamiento detrás de esta decisión de diseño? Más aún, si uno necesitara una matriz verdaderamente inmutable en JS, ¿cómo se haría eso?

about 4 years ago · Juan Pablo Isaza
3 Respuestas
Responde la pregunta

0

¡Const no está destinado a hacer que su elemento sea inmutable! ¡solo garantiza que su elemento permanezca igual, por lo que no puede asignarle un elemento diferente!

about 4 years ago · Juan Pablo Isaza Denunciar

0

Puede congelar la matriz con Object.freeze . Esto haría que los elementos no se puedan cambiar.

 const arr = [1, 2, 3]; arr.push(4); // arr = [1, 2, 3, 4] const frozenArr = Object.freeze(arr); frozenArr.push(5); // Error: Cannot add property frozenArr.pop(); // Error: Cannot delete property

Respuesta anterior como era, para referencia.

Una matriz const solo evita más asignaciones, pero puede cambiar su contenido.

La mejor práctica para arreglos inmutables es hacer copias, es decir, usar Array.slice() sin argumentos o Array.from() .

Ejemplo:

 const originalArray = [1, 2, 3]; let firstNewArray = Array.from(originalArray); firstNewArray.push(4); let secondNewArray = originalArray.slice(); secondNewArray.push(5); console.log(originalArray); // Output -> [1, 2, 3] console.log(firstNewArray); // Output -> [1, 2, 3, 4] console.log(secondNewArray); // Output -> [1, 2, 3, 5] originalArray.push(9); // This is allowed console.log(originalArray); // Output -> [1, 2, 3, 9] originalArray = []; // Error: Assignment to constant variable
about 4 years ago · Juan Pablo Isaza Denunciar

0

Una matriz, un número, una cadena son todos objetos. Se diferencian en la forma en que almacenan valores. Una cadena son caracteres y, por lo tanto, se fijan si se ha declarado const. Una matriz es una construcción de cómo se almacenan múltiples valores. Esto significa que const establece el tipo immutable pero no los valores.

about 4 years ago · Juan Pablo Isaza Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda