El método Object defineProperties ()

Descubra todo sobre el método JavaScript defineProperties () del objeto Object

Crea o configura varias propiedades de objetos a la vez. Devuelve el objeto.

Toma 2 argumentos. El primero es un objeto sobre el que crearemos o configuraremos las propiedades. El segundo es un objeto de propiedades.

Ejemplo:

const dog = {}
Object.defineProperties(dog, {
  breed: {
    value: 'Siberian Husky'
  }
})
console.log(dog.breed) //'Siberian Husky'

No solo dijebreed: 'Siberian Husky'pero tuve que pasar un objeto descriptor de propiedad, definido al principio de esta página.

Se puede utilizar junto conObject.getOwnPropertyDescriptors()para copiar propiedades de otro objeto:

const wolf = { /*... */ }
const dog = {}
Object.defineProperties(dog, Object.getOwnPropertyDescriptors(wolf))

Más tutoriales de js: