Object.keys(person).forEach(prop => { let oldValue = person[prop] Object.defineProperty(person, prop, { get() { return oldValue }, set(value) { oldValue = value _render(ul) } }) }) inp.oninput = function () { person.weight = this.value }