>  기사  >  웹 프론트엔드  >  JavaScript에서 중첩 개체의 상위 개체에 어떻게 액세스할 수 있나요?

JavaScript에서 중첩 개체의 상위 개체에 어떻게 액세스할 수 있나요?

Susan Sarandon
Susan Sarandon원래의
2024-10-25 03:29:29279검색

How can I access the parent object of a nested object in JavaScript?

JavaScript에서 중첩 개체의 상위 개체 가져오기

중첩된 JavaScript 개체로 작업할 때 다음의 상위 개체에 액세스하는 것이 유용할 수 있습니다. 주어진 중첩 객체. 그러나 이는 JavaScript 내에서 직접적으로 가능하지 않습니다.

중첩된 개체(하위 개체)에는 상위 개체(부모 개체)에 대한 명시적인 참조가 부족합니다. 이는 하위 개체가 상위 개체의 속성이나 메서드에 직접 액세스할 수 없음을 의미합니다.

예를 들어 다음 개체 계층 구조가 주어지면:

<code class="js">obj: { subObj: { foo: 'hello world' } };</code>

하위 개체에 참조 할당:

<code class="js">var s = obj.subObj;</code>

s가 obj 개체에 직접 액세스할 수 있는 기본 제공 방법은 없습니다.

이 문제를 해결하는 한 가지 접근 방식은 하위 개체의 상위 개체에 대한 참조를 수동으로 설정하는 것입니다. 이는 다음 함수를 사용하여 수행할 수 있습니다.

<code class="js">var main = {
    name : "main object",
    child : {
        name : "child object"
    },
    init : function() {
        this.child.parent = this;
        delete this.init;
        return this;
    }
}.init();</code>

init 함수 내에서 this(주 개체)를 하위 개체 내의 parent라는 속성에 할당합니다. 이렇게 하면 s가 obj에 액세스할 수 있습니다.

<code class="js">s.parent.name  // Output: "main object"</code>

이 접근 방식에는 원래 개체 구조를 수정하는 작업이 포함되며 수동 초기화가 필요하다는 점을 명심하세요. 그러나 JavaScript의 중첩 개체에서 상위 개체에 액세스하는 방법을 제공합니다.

위 내용은 JavaScript에서 중첩 개체의 상위 개체에 어떻게 액세스할 수 있나요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.