JSFiddle - React, Tailwind, and code Playground

by igalst

JavaScript

class Foo {
  constructor(data) {
  	const originalThis = Object.assign(this, {});
    Object.assign(this, data, originalThis);
  }

  action() {
    console.log('action run');
  }
}

const foo1 = new Foo({ x: 1 });
console.log(foo1.x);
foo1.action();

const foo2 = new Foo({ x: 1, action: 2 });
console.log(foo2.x);
console.log(foo2.action);
foo2.action();