JavaScript의 중첩 개체에서 상위 개체 검색
JavaScript에서는 중첩 개체에 액세스하는 것이 일반적인 작업입니다. 그러나 중첩된 개체에서 상위 개체를 검색하는 것은 어려울 수 있습니다.
다음 시나리오를 고려하십시오.
obj: { subObj: { foo: 'hello world' } }; var s = obj.subObj;
이제 변수에서 상위 개체 obj에 대한 참조를 얻으려고 합니다. 에스. 이를 달성할 수 있는 방법이 있습니까?
대답
안타깝게도 JavaScript의 중첩 개체는 상위 개체에 직접 액세스할 수 없습니다. 따라서 중첩된 개체에서 상위 개체를 직접 가져오는 것은 불가능합니다.
설명을 위해 다음 코드를 고려해 보겠습니다.
var main = { name : "main object", child : { name : "child object" } };
기본 개체에서 하위 개체의 이름에 액세스하는 것은 간단합니다(예: main.child.name). 그러나 하위 개체(예: main.child.parent.name)에서 상위 이름에 액세스하려고 하면 오류가 발생합니다.
대체 솔루션
직접 실행하는 동안 하위 개체에서 참조하는 것은 불가능하므로 함수를 활용하는 대체 접근 방식이 있습니다.
var main = { name : "main object", child : { name : "child object" }, init : function() { this.child.parent = this; delete this.init; return this; } }.init();
이 코드에서 init 함수는 상위 개체를 가리키는 하위 개체에 직접 상위 속성을 추가합니다. . 이 초기화 후에는 main.child.parent.name을 호출하여 하위 개체에서 상위 개체의 이름에 성공적으로 액세스할 수 있습니다.
이 방법은 다소 독특하지만 상위 개체를 검색하는 문제에 대한 해결책을 제공합니다. JavaScript의 중첩 객체입니다.
위 내용은 JavaScript의 중첩 개체에서 상위 개체를 가져오는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!