Tipos de datos: Mutabilidad e inmutabilidad

Clase 7 de 80Curso de JavaScript Desde Cero

Contenido del curso

Primeros Pasos

Funciones y This

Resumen

¿Qué son los tipos de datos en JavaScript?

Comprender los tipos de datos en JavaScript es esencial para todos los desarrolladores que deseen aprovechar al máximo esta versátil herramienta. Este lenguaje de programación ofrece tanto tipos de datos primitivos como complejos, cada uno con características únicas que afectan la forma en que manejamos y manipulamos información. Desde números y cadenas de texto hasta booleanos y objetos, cada tipo de dato posee propiedades determinadas que deben ser comprendidas e implementadas correctamente para asegurar el funcionamiento efectivo del código.

¿Cuáles son los tipos de datos primitivos en JavaScript?

Los tipos de datos primitivos en JavaScript son aquellos que se consideran inmutables, es decir, no se pueden cambiar una vez que se han creado. A continuación, se presentan los tipos primitivos indispensables:

  • String: Utilizado para representar cadenas de texto.
  • Number: Empleado para valores numéricos.
  • Boolean: Representa un valor de verdad, ya sea true o false.
  • Null: Indica la ausencia intencionada de un valor.
  • Undefined: Representa una variable que aún no ha sido asignada a un valor específico.
  • Symbol: Se utiliza para valores únicos.
  • BigInt: Permite manejar números enteros grandes.

¿Cómo se comportan los tipos de datos primitivos?

Los tipos de datos primitivos son inmutables. Esto significa que al realizar operaciones o asignaciones, el valor original no se modifica; en lugar de ello, se crea una nueva instancia. Por ejemplo, al sumar un número, como en el siguiente código:

let numero = 23; numero = numero + 10; console.log(numero); // Salida: 33

El valor inicial de numero (23) no se alteró; JavaScript generó un nuevo valor (33).

¿Qué caracteriza a los tipos de datos complejos?

Los tipos de datos complejos son mutables y se pasan por referencia. Los tres principales tipos son:

  • Objetos (Objects): Colección dinámica de pares de clave-valor.
  • Arrays: Listas ordenadas de valores.
  • Funciones: Función reusable que puede modificar el estado de objetos.

¿Cómo trabajan los tipos de datos complejos con la mutabilidad?

Estos tipos de datos permiten modificar directamente el valor original, afectando así a todas las referencias que puedan tener acceso al mismo. Por ejemplo, al alterar un objeto o un array, como a continuación:

let usuario = { nombre: "Pepito", edad: 15 }; usuario.edad = 20; console.log(usuario); // Salida: { nombre: "Pepito", edad: 20 }

El valor de edad se cambia a 20, modificando el propio objeto. Este comportamiento se extiende a los arrays y las funciones, donde se pueden actualizar elementos y resultados según la referencia directa.

¿Cómo funcionan las funciones respecto a la mutabilidad?

Las funciones pueden actuar como herramientas eficientes para modificar el estado interno de objetos. Al cambiar la propiedad interna de un objeto pasado como argumento, se altera directamente su referencia en memoria:

function cambiarNombre(objeto) { objeto.nombre = "Antonio"; } let persona = { nombre: "Pepito" }; cambiarNombre(persona); console.log(persona); // Salida: { nombre: "Antonio" }

Esta manipulación directa muestra cómo las funciones pueden operar sobre elementos complejos, resaltando la importancia de las referencias y su efecto en la integridad de los datos.

El dominio de los tipos de datos y sus comportamientos es esencial para desarrollar aplicaciones robustas. Comprender cómo se almacenan y manipulan los datos te proporcionará herramientas para escribir código más eficiente y menos propenso a errores, ampliando así tus capacidades como desarrollador competente de JavaScript. Sigamos desafiante el mundo del código, ¡aprendiendo y creciendo en el camino!