Inmutabilidad de Strings y Almacenamiento en Memoria
Clase 9 de 29 • Curso de Estructuras de Datos con JavaScript
Contenido del curso
Arrays y strings
- 4

Cómo funcionan arrays en memoria de JavaScript
07:23 min - 5

Construcción de Arrays con Clases en JavaScript
09:33 min - 6

Métodos pop y delete en arrays
16:01 min - 7
Playground: crea tu propia implementación de unshift
- 8
Playground: crea tu propia implementación de shift
- 9

Inmutabilidad de Strings y Almacenamiento en Memoria
Viendo ahora
Hash Table
Linked List
- 15

Estructuras de Datos: Listas Enlazadas en JavaScript
05:20 min - 16

Estructura y Creación de una Lista Enlazada Simple en JavaScript
10:03 min - 17

Métodos para Manipular Nodos en Listas Enlazadas
12:12 min - 18

Inserta nodos intermedios sin romper enlaces en JavaScript
16:08 min - 19

Doubly Linked List con punteros bidireccionales
07:51 min
Stacks
Queues
Trees
Graphs
Cierre
Comprender cómo funcionan los strings en JavaScript te ayuda a escribir código más claro y eficiente. Aquí verás por qué los strings son inmutables, cómo se guardan en memoria como si fueran un array y qué implica al intentar “modificarlos”. Además, se anticipa el paso a hash tables, una estructura clave que verás a continuación.
¿Cómo se guardan los strings en memoria en JavaScript?
Los strings no son una estructura de datos como tal, pero la forma en que se almacenan en memoria se comporta “como si lo fueran”. En muchos lenguajes, incluido JavaScript, un string se guarda internamente como un array de caracteres, lo que permite acceder a cada letra por índice.
const saludo = "hola";
- Se guarda “como un array” de caracteres en memoria.
- Permite acceder a cada carácter por su índice.
- Facilita recorrer letras y posiciones sin convertir el tipo.
¿Se accede por índice como en un array?
Sí. Al almacenarse como un array, cada letra ocupa una posición y puede leerse por índice, igual que en una colección ordenada.
- Acceso directo a letras por posición.
- Lectura sin necesidad de transformar el string.
¿Qué implica que los strings sean inmutables?
En JavaScript, los strings son inmutables: una vez creado, su valor no cambia. Cualquier “modificación” produce un nuevo string en memoria.
- No se altera el valor original tras su creación.
- Para “cambiarlo”, se debe copiar el contenido.
- Se buscan nuevos memory slots disponibles y se pega el valor con los nuevos elementos.
¿Cómo impacta en rendimiento y diseño?
Este proceso de copiar y reasignar puede costar más tiempo de cómputo, sobre todo si se repite con frecuencia o con valores grandes.
- Copiar y pegar datos implica trabajo extra para el motor.
- Puede generar demoras al hacer muchas concatenaciones o cambios repetidos.
¿Qué conceptos y habilidades clave aparecen y qué sigue?
El foco está en entender el modelo de memoria y la inmutabilidad para tomar mejores decisiones al manipular texto. También se adelanta el estudio de hash tables, una estructura más compleja que los arrays.
- String inmutable: no se puede modificar in place; cualquier cambio crea un nuevo valor.
- Modelo de memoria: los caracteres se guardan “como un array”, con acceso por índices.
- Índices: posibilidad de leer letras por posición.
- Memory slots: espacios donde se pega el nuevo valor tras copiar.
- Tiempo de cómputo: el proceso de copiar y ubicar nuevos memory slots puede tardar más.
- Hash tables: próxima estructura de datos mencionada como siguiente paso.
¿Tienes dudas o un ejemplo donde la inmutabilidad te haya sorprendido? Compártelo en comentarios y enriquecemos la explicación juntos.