super 키워드와 같은 변수 할당을 사용하지 않고 자식 개체에서 부모 개체를 참조해야하지만 문자 그대로 내 예제는 다음과 같습니다.
{ a:1,
b:{e:a}
}
해결책이 있습니다
var obj = {
a: 1,
b: {
get e() {
return obj.a
}
}
}하지만 객체 리터럴을 변수에 할당하지 않고도 가능한지 묻습니다.
this
동일한 수준의 객체를 참조하는 데 사용할 수 있지만 귀하의 경우 중첩되어 있으므로 중첩 된 getter를 사용하여 부모 컨텍스트를 유지하십시오.
var obj = {
a: 1,
get b() {
const pctx = this;
return {
get e() {
return pctx.a
},
c: 1
}
}
}
console.log(obj.b.e)
참고 : 이렇게하면 중첩 된 개체의 참조가 매번 달라지며 중첩 된 개체의 속성을 업데이트 할 수 없습니다.
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다