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

Patricia Arquette
リリース: 2024-10-25 02:04:30
オリジナル
1004 人が閲覧しました

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 サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート