Objetos

Funciones más comunes

La clase Object representa uno de los tipos de datos en Javascript. Es usado para guardar una colección de datos definidos y entidades más complejas.

Métodos estáticos

Object.assign()

Copia los valores de todas las propiedades enumerables propias de uno o más objetos fuente al objeto asignado.

const target = { a: 1, b: 2 };
const source = { b: 4, c: 5 };

const returnedTarget = Object.assign(target, source);

console.log(target);
// Expected output: Object { a: 1, b: 4, c: 5 }

console.log(returnedTarget === target);
// Expected output: true

Object.entries()

Devuelve un array que contiene todos los pares [key, value] de las propiedades enumerables en formato cadena de texto que le pertenecen a un objeto dado.

const obj = { foo: 'bar', baz: 42 };
console.log(Object.entries(obj)); // [ ['foo', 'bar'], ['baz', 42] ]

Object.fromEntries()

Devuelve un nuevo objeto de los pares iterables [key, value]. (Este método hace lo contrario a Object.entries).

Object.keys()

Devuelve un arreglo que contiene todos los keys de las propiedades enumerables de tipo cadena de texto pertenecientes al objeto dado.

Object.values()

Devuelve un arreglo que contiene todos los valores correspondientes a las propiedades enumerables de tipo cadena de texto pertenecientes a un objeto dado.

Set

El objeto Set le permite almacenar valores únicos de cualquier tipo, ya sea valores primitivos o referencias a objetos.

Mapas

Un mapa (sustantivo) es una estructura de datos que asocia valores (las llaves) con otros valores. Por ejemplo, es posible que desees mapear nombres a edades. Es posible usar objetos para esto.

Como tal, usar objetos simples como mapas es peligroso. Hay varias formas posibles de evitar este problema.

JavaScript viene con una clase llamada Map que esta escrita para este propósito exacto. Esta almacena un mapeo y permite cualquier tipo de llaves.

Los métodos set,get, y has son parte de la interfaz del objeto Map. Escribir una estructura de datos que pueda actualizarse rápidamente y buscar en un gran conjunto de valores no es fácil, pero no tenemos que preocuparnos acerca de eso. Alguien más lo hizo por nosotros, y podemos utilizar esta simple interfaz para usar su trabajo.

Si tienes un objeto simple que necesitas tratar como un mapa por alguna razón, es útil saber que Object.keys solo retorna las llaves propias del objeto, no las que estan en el prototipo. Como alternativa al operador in, puedes usar el métodohasOwnProperty, el cual ignora el prototipo del objeto.

Last updated