LOS 10 MÉTODOS DE OBJECT EN JAVASCRIPT QUE TODO DESARROLLADOR DEBE DOMINAR
En el desarrollo frontend y backend con JavaScript, entender a fondo cómo funcionan los objetos es fundamental. Aunque muchos desarrolladores usan objetos a diario, pocos aprovechan todo el potencial que ofrece el objeto Object nativo de JavaScript.Objeto de ejemplo
Los ejemplos que se van a usar se van a basar en el siguiente objeto:const obj = { a: 10, b: 20, c: 30 };
- Object.keys: Extraes todas las claves del obketo. Es útil cuando se necesita iterar solo sobre las claves o validar la estructura de un objeto.
Object.keys(obj); // Output: ['a', 'b', 'c'] - Object.values: Extrae todos los valores del obketo. Es similar al anterior, pero devuelve un array con los valores. Es ideal para cuando solo se necesitan los datos y no las claves.
Object.keys(obj); // Output: ['a', 'b', 'c'] - Object.entries: Obtiene los pares clave-valor. Devuelve un array de arrays, donde cada sub-array contiene "[clave, valor]". Perfecto para usar con "map(),", "forEach()" o para transformar objetos fácilmente.
Object.entries(obj); // Output: [['a', 10], ['b', 20], ['c', 30]] - Object.assign: Copia y fusiona objetos. Permite copiar las propiedades de uno o varios objetos de origen hacia un objeto destino. Muy usado para clonar objetos superficialmente o combinar configuraciones por defecto con opciones del usuario.
Object.getOwnPropertyNames(obj); // Output: ['a', 'b', 'c'] - Object.freeze(): Congelar un objeto, o inmutabilidad. Impide que se añadan, eliminen o modifiquen propiedades existentes. Esencial para mantener el estado inmutable en aplicaciones React, Redux o cualquier arquitectura que priorice la inmutabilidad.
Object.freeze(obj); obj.newProp = 10; // No tendrá efecto - Object.seal: Sellado de objetos. Permite modificar propiedades existentes, pero impide añadir o eliminar nuevas propiedades. Útil cuando se quiere proteger la estructura del objeto pero aún permitir cambios de valores.
Object.seal(obj); delete obj.a; // No funciona obj.d = 40; // No funciona - Object.hasOwn: Verificar propiedad propia. Comprueba si un objeto tiene una propiedad como propia (no heredada del prototipo). Reemplaza al antiguo "obj.hasOwnProperty" y evita problemas con objetos que heredan propiedades modificadas.
Object.hasOwn(obj, 'a'); // true - Object.is: Comparación estricta de valores. Realiza una comparación más precisa que el operador "===", especialmente útil con "NaN" y "-0".
Object.is(NaN, NaN); // true Object.is(-0, 0); // false - Object.create: Crea objetos con prototipo específico. Permite crear un nuevo objeto que herede propiedades de otro objeto como prototipo. Muy útil para implementar herencia prototípica de forma explícita.
const child = Object.create(obj);