Si dentro de un constructor de clase y busco un objeto que contiene muchos valores, ¿cómo puedo hacer que esa clase obtenga todos esos valores?
Por ejemplo, si este es mi objeto:
const myObject = { a: 1, b: 2, c: 3 }Esta es mi clase:
class MyClass { constructor() { const object = createMyObject(); // This function returns the above myObject } } Ahora, ¿cómo hago para que MyClass tenga todos los valores de myObject para poder hacer algo como:
const class = new MyClass(); console.log(class.a); // 1Puedes hacerlo:
function createMyObject(){ return { a:1, b:2, c:3 } } class MyClass{ constructor(){ Object.assign(this,createMyObject()) } } const res = new MyClass(); console.log(res.a) console.log(res.b) console.log(res.c)Itere sobre el objeto con Object.entries y asigne los pares clave/valor a la clase.
function createMyObject() { return { a: 1, b: 2, c: 3 }; } class MyClass { constructor() { const object = createMyObject(); const entries = Object.entries(object); for (const [key, value] of entries) { this[key] = value; } } } const o = new MyClass(); console.log(oa); console.log(ob); console.log(oc);