Whyprevent setdynamic propertyUsing context directly Instead of reactive datalet 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 propertyasync 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 JavaScript proxy return async value on "get"Thanks for contributing an answer to Stack Overflow! Please be sure to answer the question. Provide details and share your research! Asking for help, clarification, or responding to other answers. Making statements based on opinion; back them up with references or personal experience. To learn more, see our tips on writing great answers.https://stackoverflow.com/questions/64372696/javascript-proxy-return-async-value-on-get프로퍼티 getter와 setter객체의 프로퍼티는 두 종류로 나뉩니다. 첫 번째 종류는 데이터 프로퍼티(data property) 입니다. 지금까지 사용한 모든 프로퍼티는 데이터 프로퍼티입니다. 데이터 프로퍼티 조작 방법에 대해선 모두 알고 계실 것이라 생각합니다. 두 번째는 접근자 프로퍼티(accessor property) 라 불리는 새로운 종류의 프로퍼티입니다. 접근자 프로퍼티의 본질은 함수인데, 이 함수는 값을 획득(get)하고 설정(set)하는 역할을 담당합니다.https://ko.javascript.info/property-accessors