JavaScript의 중첩 개체에서 상위 개체를 가져오는 방법은 무엇입니까?

Susan Sarandon
풀어 주다: 2024-10-25 03:14:29
원래의
617명이 탐색했습니다.

How to Get the Parent Object from a Nested Object in JavaScript?

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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿
회사 소개 부인 성명 Sitemap
PHP 중국어 웹사이트:공공복지 온라인 PHP 교육,PHP 학습자의 빠른 성장을 도와주세요!