JS Getter Setter

Creator
Creator
Seonglae Cho
Created
Created
2021 Apr 22 5:54
Editor
Edited
Edited
2023 Apr 25 8:33

Why

  • prevent set
  • dynamic property
  • Using context directly
 

Instead of reactive data

let userWrapper = { user: { name: "John", surname: "Smith", get fullName() { return `${this.name} ${this.surname}` } }, get descent() { return `${this.user.name} ${this.user.surname}` } }
 

JS Proxy
& Promise can make await property

async function parseValue() { await new Promise(resolve => setImmediate(resolve)); return "parsed value" } let proxy = new Proxy(myObject, { get(target, prop, receiver) { if (prop === "attribute") { let newProp = prop + "_parsed" if (!(newProp in target)) { target[newProp] = parseValue() } return target[newProp] } else { return Reflect.get(target, prop, receiver) } }, }) await proxy.attribute
 
 
 
 
 

Recommendations