Regístrate para acceder a más de 15 cursos gratuitos de programación con un simulador

Inmutabilidad y tipos primitivos Fundamentos de JavaScript

📝 Imagina que tienes una hoja de papel con la palabra Alejandro escrita en ella. Quieres cambiar la primera letra por una B, pero aquí hay un problema:

En JavaScript, las cadenas de texto no se pueden modificar “letra por letra”. Son inmutables.
let firstName = 'Alejandro';
firstName[0] = 'B';
console.log(firstName); // => 'Alejandro'

¿Por qué no se pueden cambiar?

Esto sucede porque las cadenas de texto son un tipo primitivo.

En JavaScript, los tipos primitivos son los valores más simples. Todo lo que vimos en la lección anterior — number, string y boolean — son tipos primitivos. No se pueden modificar por dentro. Más adelante veremos otros tipos, como arrays y objetos, que sí funcionan distinto.

💡 Saber esto te ayuda a entender por qué a veces un cambio no funciona como esperas.

¿Cómo cambiamos una cadena de texto entonces?

No puedes modificar una parte, pero sí puedes crear una nueva con el valor deseado:

let firstName = 'Alejandro';
firstName = 'Blejandro';
console.log(firstName); // => 'Blejandro'

Por eso, cuando quieres cambiar parte de un texto, simplemente creas una nueva cadena y la asignas a la variable.

Diferencia clave

Acción ¿Es posible en JavaScript? Explicación
Modificar un carácter en una cadena ❌ No Las cadenas son inmutables (tipo primitivo).
Reemplazar el valor de una variable con otro ✅ Sí La variable ahora apunta a otra cadena nueva.

Tipado débil en JavaScript

En JavaScript, los datos pueden cambiar de tipo automáticamente, porque es un lenguaje de tipado débil. Eso significa que, si mezclas texto y números, JavaScript intentará convertir los valores según la operación.

console.log(1 + '7');    // '17' — concatena texto y número como cadena
console.log('5' - 3);    // 2   — convierte texto a número y resta
console.log('one' * 'two'); // NaN — no tiene sentido matemático
  • Cuando sumas número + texto, JavaScript convierte todo a cadena y los junta.
  • Si es una resta o multiplicación, intenta convertir el texto a número.
  • Si no puede, el resultado es NaN (Not a Number).

💡 En la vida real, casi siempre recibes datos como texto (de formularios, archivos, usuarios). JavaScript intenta ayudarte convirtiendo los datos automáticamente, pero esto también puede provocar confusiones o errores.


Resumen

  • Las cadenas de texto en JavaScript son inmutables.
  • Para cambiar una cadena, siempre creas una nueva.
  • JavaScript tiene tipado débil: los datos pueden cambiar de tipo automáticamente.
  • Suma de número y texto concatena; otras operaciones intentan convertir a número y pueden dar NaN.

Para acceder completo a curso necesitas un plan básico

El plan básico te dará acceso completo a todos los cursos, ejercicios y lecciones de Códica, proyectos y acceso de por vida a la teoría de las lecciones completadas. La suscripción se puede cancelar en cualquier momento.

Obtener acceso
130
cursos
1000
ejercicios
2000+
horas de teoría
3200
test

Obtén acceso

Cursos de programación para principiantes y desarrolladores experimentados. Comienza tu aprendizaje de forma gratuita

  • 130 cursos, 2000+ horas de teoría
  • 1000 ejercicios prácticos en el navegador
  • 360 000 estudiantes
Al enviar el formulario, aceptas el «Política de privacidad» y los términos de la «Oferta», y también aceptas los «Términos y condiciones de uso»

Nuestros graduados trabajan en empresas como:

Bookmate
Health Samurai
Dualboot
ABBYY