21-04-2026

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);
    
Es necesario entender bien la inmutabilidad de los objetos. Métodos como freeze y seal son clave para gestionar el estado de forma predecible, especialmente en aplicaciones grandes.