¿Cuál es la principal diferencia entre tipos primitivos y objetos en JavaScript?
Primero, definamos qué son los tipos primitivos.
Los tipos primitivos en JavaScript son
- instrumentos de cuerda
- números (Number y BigInt)
- booleanos (verdadero o falso)
- indefinido
- Valores de los símbolos
null
es un tipo primitivo especial. Si corres, typeof null
volverás 'object'
, pero en realidad es un tipo primitivo.
Todo lo que no es un tipo primitivo es un objeto .
Las funciones también son objetos. Podemos establecer propiedades y métodos en las funciones. typeof
retornará, 'function'
pero el constructor de la función se deriva del constructor del objeto.
Las grandes diferencias entre los tipos primitivos y los objetos son
- Los tipos primitivos son inmutables, los objetos solo tienen una referencia inmutable, pero su valor puede cambiar con el tiempo.
- Los tipos primitivos se pasan por valor. Los objetos se pasan por referencia.
- Los tipos primitivos se copian por valor. Los objetos se copian por referencia.
- Los tipos primitivos se comparan por valor. Los objetos se comparan por referencia.
Si copiamos un tipo primitivo de esta manera:
let name = 'Flavio'let secondName = name
Ahora podemos cambiar la name
variable asignándole un nuevo valor, pero secondName
aún conserva el valor anterior, porque fue copiado por valor:
name = 'Roger'secondName //'Flavio'
Si tenemos un objeto:Te recomendamos Aprender a programar con ejemplos
let car = { color: 'yellow'}
y lo copiamos a otra variable:
let car = { color: 'yellow'}let anotherCar = car
en este caso anotherCar
apunta al mismo objeto que car
. Si establece
car.color = 'blue'
también
anotherCar.color
será 'blue'
.
Lo mismo funciona para pasar objetos a funciones y para comparar.
Digamos que queremos comparar car
con anotherCar
:
anotherCar === car //true
Esto es cierto porque ambas variables apuntan exactamente al mismo objeto.
Pero si anotherCar
fuera un objeto con las mismas propiedades que car
, compararlos daría un false
resultado:
let car = { color: 'yellow'}let anotherCar = { color: 'yellow'}anotherCar === car //false
Tips para principiantes de JavaScript
Tal vez te puede interesar:
- Cómo generar un número aleatorio entre dos números en JavaScript
- Cómo esperar el evento DOM listo en JavaScript simple
- Cómo determinar si una fecha es hoy en JavaScript
- Cómo contar el número de propiedades en un objeto JavaScript
Tipos primitivos vs objetos en JavaScript
Primero, definamos qué son los tipos primitivos. ¿Cuál es la principal diferencia entre tipos primitivos y objetos en JavaScript? ¿Cuál es la principal di
programar
es
2025-01-07

Si crees que alguno de los contenidos (texto, imagenes o multimedia) en esta página infringe tus derechos relativos a propiedad intelectual, marcas registradas o cualquier otro de tus derechos, por favor ponte en contacto con nosotros en el mail [email protected] y retiraremos este contenido inmediatamente