Curso javascript nivel medio
Referencias a Objetos en JavaScript (Tipos Primitivos y Objetos)
En JavaScript, es importante entender la diferencia entre tipos primitivos y objetos, especialmente cuando se trata de cómo se manejan en la memoria y cómo se pasan entre variables y funciones.
Tipos Primitivos
Los tipos primitivos en JavaScript son los datos más simples y básicos. Estos incluyen:
number: Números, como42o3.14.string: Cadenas de texto, como"Hola"o'Mundo'.boolean: Valores de verdad,trueofalse.null: Un valor que representa la ausencia intencional de un valor.undefined: Indica que una variable ha sido declarada pero no se le ha asignado un valor.symbol: Un valor único e inmutable, generalmente usado como identificador.bigint: Números enteros grandes.
Características de los Tipos Primitivos
- Inmutabilidad: Los valores primitivos no pueden cambiar. Si asignas un nuevo valor a una variable que contiene un tipo primitivo, estás creando un nuevo valor, no modificando el existente.
- Pasaje por valor: Cuando asignas o pasas un tipo primitivo a una variable o función, se copia el valor. No se pasa el valor original, sino una copia de él.
Ejemplo:
1let a = 10; 2let b = a; // Se copia el valor de 'a' en 'b' 3b = 20; // Cambiamos 'b', pero 'a' sigue siendo 10 4console.log(a); // Muestra 10 5console.log(b); // Muestra 20Salida de Consola!: 10 20
Objetos
Un objeto en JavaScript es más complejo que un tipo primitivo. Puede contener múltiples valores organizados como propiedades y métodos. Los arrays y funciones también son considerados objetos en JavaScript.
Características de los Objetos
- Mutabilidad: A diferencia de los tipos primitivos, los objetos pueden cambiar. Puedes agregar, modificar o eliminar propiedades de un objeto después de haberlo creado.
- Pasaje por referencia: Cuando asignas o pasas un objeto a una variable o función, lo que se copia es una referencia al objeto original, no el objeto en sí. Esto significa que si cambias el objeto usando la nueva referencia, el cambio afectará al objeto original.
Ejemplo:
1let objeto1 = { nombre: "Juan" }; 2let objeto2 = objeto1; // Ambos apuntan al mismo objeto en la memoria 3objeto2.nombre = "Ana"; // Cambia el nombre a través de 'objeto2' 4console.log(objeto1.nombre); // Muestra "Ana", porque 'objeto1' y 'objeto2' apuntan al mismo objetoSalida de Consola!: Ana
Diferencia clave: Pasaje por valor vs. Pasaje por referencia
- Tipos Primitivos: Se pasan por valor, lo que significa que se hace una copia del valor original. Cambiar la copia no afecta el valor original.
- Objetos: Se pasan por referencia, lo que significa que la variable contiene una referencia al objeto en la memoria. Cambiar el objeto a través de esta referencia afecta el objeto original.
Resumen
- Tipos Primitivos: Son simples, inmutables, y se pasan por valor.
- Objetos: Son complejos, mutables, y se pasan por referencia.
- Comprender cómo funcionan las referencias es crucial para evitar errores y escribir código eficiente en JavaScript.
Ejemplos:
1// Vamos a entender el uso/funcionamiento de objetos y de tipos primitivos 2// Vamos a ver como se comportan los tipos primitivos 3var a = 10 4var b = a 5console.log(a) 6console.log(b) 7 8a=20 9console.log(a) 10console.log(b) 11 12// Los tipos primitivos se pasan por valorSalida de Consola!: 10 10 20 10
1var c = { 2 nombre: "Angel" 3} 4var d = c 5console.log(c) 6console.log(d) 7c.nombre = "Paula" 8console.log(c) 9console.log(d) 10// Los objetos se pasan por referenciaSalida de Consola!: { nombre: 'Angel' } { nombre: 'Angel' } { nombre: 'Paula' } { nombre: 'Paula' }
- Loading...
Crea una función llamada
modificadorque acepte un objeto como parámetro.El objeto debe tener la propiedad nombre.
La función debe modificar el objeto recibido y cambiar el valor de la propiedad nombre por "Pedro".
Loading...