ホームページ  >  記事  >  ウェブフロントエンド  >  JavaScript でネストされた子オブジェクトの親オブジェクトにアクセスするにはどうすればよいですか?

JavaScript でネストされた子オブジェクトの親オブジェクトにアクセスするにはどうすればよいですか?

Patricia Arquette
Patricia Arquetteオリジナル
2024-10-25 02:04:30942ブラウズ

How Can You Access the Parent Object of a Nested Child Object in JavaScript?

JavaScript オブジェクト: 親子関係の決定

JavaScript では、オブジェクトをネストして階層構造を作成できます。ただし、ネストされた子オブジェクトから親オブジェクトにアクセスするのは難しい場合があります。

次のネストされたオブジェクトを考えてみましょう:

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

s 内のサブオブジェクトを参照するには、次を使用します:

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

ここで、s を使用して親オブジェクト obj を取得したいとします。

残念ながら、JavaScript には子オブジェクトから親オブジェクトを取得する直接的なメカニズムはありません。これは、子オブジェクトが親の存在を知らないためです。

代替解決策

回避策の 1 つは、ネストされたオブジェクト内で親子関係を確立する関数を利用することです。 。上記のコードを拡張します:

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

init 関数で、親オブジェクトを子オブジェクト内の親プロパティに割り当てます。これを呼び出すことで、ネストされた子オブジェクト内から現在のオブジェクト (つまり、main) を参照します。最後に、コードをわかりやすくするために init 関数を削除しました。

この手法を使用すると、子から親オブジェクトにアクセスできるようになります。

<code class="javascript">main.child.parent.name // returns "main object"</code>

以上がJavaScript でネストされた子オブジェクトの親オブジェクトにアクセスするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。