ETZADEV
Métodos de Objetos
Compartir

Métodos de Objetos

Los objetos literales en vienen con una variedad de métodos que hacen que trabajar con ellos sea mucho más sencillo. En esta publicación, vamos a explorar algunos de los más utilizados.

Object.keys(obj)

El método Object.keys() devuelve un array con las claves propias enumerables de un objeto.

Sintaxis

Object.keys(obj);

Parámetros que recibe

  • obj: El objeto del cual se van a obtener las claves.

Valor que retorna

Un array con las claves del objeto.

Ejemplo

snippet.js
1const person = { name: "John", age: 30 };
2console.log(Object.keys(person)); // Salida: ['name', 'age']

En este ejemplo:

  • El objeto person tiene dos claves: name y age.
  • Object.keys(person) devuelve un array con estas claves.

Notas Adicionales

  • Object.keys() es útil para iterar sobre las claves de un objeto.

Object.values(obj)

El método Object.values() devuelve un array con los valores de las claves propias enumerables de un objeto.

Sintaxis

Object.values(obj);

Parámetros que recibe

  • obj: El objeto del cual se van a obtener los valores.

Valor que retorna

Un array con los valores del objeto.

Ejemplo

snippet.js
1const person = { name: "John", age: 30 };
2console.log(Object.values(person)); // Salida: ['John', 30]

En este ejemplo:

  • El objeto person tiene dos valores:
    snippet.txt
    1'John'
    y 30.
  • Object.values(person) devuelve un array con estos valores.

Notas Adicionales

  • Object.values() es útil para iterar sobre los valores de un objeto.

Object.entries(obj)

El método Object.entries() devuelve un array de arrays, cada uno conteniendo un par clave-valor del objeto.

Sintaxis

Object.entries(obj);

Parámetros que recibe

  • obj: El objeto del cual se van a obtener las entradas.

Valor que retorna

Un array de arrays, cada uno con un par clave-valor.

Ejemplo

snippet.js
1const person = { name: "John", age: 30 };
2console.log(Object.entries(person)); // Salida: [['name', 'John'], ['age', 30]]

En este ejemplo:

  • El objeto person tiene dos pares clave-valor:
    snippet.txt
    1name: 'John'
    y
    snippet.txt
    1age: 30
    .
  • Object.entries(person) devuelve un array con estos pares clave-valor.

Notas Adicionales

  • Object.entries() es útil para iterar sobre las entradas de un objeto.

Object.assign(target, ...sources)

El método Object.assign() copia las propiedades enumerables de uno o más objetos fuente a un objeto destino. Devuelve el objeto destino.

Sintaxis

Object.assign(target, ...sources);

Parámetros que recibe

  • target: El objeto destino.
  • sources: Uno o más objetos fuente.

Valor que retorna

El objeto destino con las propiedades copiadas.

Ejemplo

snippet.js
1const target = { a: 1 };
2const source = { b: 2, c: 3 };
3Object.assign(target, source);
4console.log(target); // Salida: { a: 1, b: 2, c: 3 }

En este ejemplo:

  • El objeto target es
    snippet.txt
    1{ a: 1 }
    .
  • El objeto source es
    snippet.txt
    1{ b: 2, c: 3 }
    .
  • Object.assign(target, source) copia las propiedades de source a target.

Notas Adicionales

  • Object.assign() es útil para combinar múltiples objetos en uno solo.

Object.freeze(obj)

El método Object.freeze() congela un objeto, impidiendo que se añadan, eliminen o modifiquen propiedades.

Sintaxis

Object.freeze(obj);

Parámetros que recibe

  • obj: El objeto que se va a congelar.

Valor que retorna

El objeto congelado.

Ejemplo

snippet.js
1const person = { name: "John", age: 30 };
2Object.freeze(person);
3person.age = 31; // No se cambia
4console.log(person.age); // Salida: 30

En este ejemplo:

  • El objeto person se congela.
  • Aunque se intente cambiar la propiedad age, no se modifica.

Notas Adicionales

  • Object.freeze() es útil para proteger un objeto de modificaciones.

Object.seal(obj)

El método Object.seal() sella un objeto, impidiendo que se añadan o eliminen propiedades, aunque las propiedades existentes todavía se pueden modificar.

Sintaxis

Object.seal(obj);

Parámetros que recibe

  • obj: El objeto que se va a sellar.

Valor que retorna

El objeto sellado.

Ejemplo

snippet.js
1const person = { name: "John", age: 30 };
2Object.seal(person);
3person.age = 31; // Se cambia
4delete person.name; // No se elimina
5console.log(person); // Salida: { name: 'John', age: 31 }

En este ejemplo:

  • El objeto person se sella.
  • La propiedad age se puede modificar, pero no se puede eliminar name.

Notas Adicionales

  • Object.seal() es útil para proteger la estructura de un objeto mientras se permiten cambios en sus propiedades.

Object.create(proto, [propertiesObject])

El método Object.create() crea un nuevo objeto con el prototipo y las propiedades especificadas.

Sintaxis

Object.create(proto, [propertiesObject]);

Parámetros que recibe

  • proto: El objeto que será el prototipo del nuevo objeto.
  • propertiesObject: Opcional. Un objeto cuyas propiedades se van a añadir al nuevo objeto.

Valor que retorna

Un nuevo objeto con el prototipo y propiedades especificadas.

Ejemplo

snippet.js
1const proto = {
2 greet() {
3 console.log("Hello");
4 },
5};
6const obj = Object.create(proto);
7obj.greet(); // Salida: 'Hello'

En este ejemplo:

  • El objeto proto tiene un método greet.
  • El nuevo objeto obj creado con Object.create(proto) puede usar el método greet.

Notas Adicionales

  • Object.create() es útil para crear objetos con un prototipo específico.

Object.defineProperty(obj, prop, descriptor)

El método Object.defineProperty() define una nueva propiedad en un objeto o modifica una propiedad existente y devuelve el objeto.

Sintaxis

Object.defineProperty(obj, prop, descriptor);

Parámetros que recibe

  • obj: El objeto en el que se va a definir la propiedad.
  • prop: El nombre de la propiedad a definir o modificar.
  • descriptor: El descriptor de la propiedad.

Valor que retorna

El objeto con la propiedad definida o modificada.

Ejemplo

snippet.js
1const person = {};
2Object.defineProperty(person, "name", {
3 value: "John",
4 writable: false,
5 enumerable: true,
6 configurable: false,
7});
8console.log(person.name); // Salida: 'John'

En este ejemplo:

  • El objeto person tiene una propiedad name definida.
  • La propiedad name no es modificable (
    snippet.txt
    1writable: false
    ).

Notas Adicionales

  • Object.defineProperty() es útil para agregar o modificar propiedades con control sobre atributos como enumerabilidad, configurabilidad y capacidad de escritura.

comentario.formNuevo

* Tu correo electrónico permanecerá privado. Los campos requeridos están señalados con *