2017-07-03 11 views
2

なぜjavascriptに自己参照オブジェクトが必要ですか? 例はなぜ私たちはjavascriptで自己参照オブジェクトを必要とするのですか?

let a = {}; 
a.self = a; 

今性自己自体を参照すると、円形の対象となっています。

in nodejs hapiのようなルーティングライブラリを使用する場合。 私たちが受け取る要求オブジェクトは循環です

+1

このコードの著者に質問してください。何らかの一般的な理由から「必要とする」というわけではありません。 – zerkms

+0

"hapiのようなルーティングライブラリ。私たちが受け取る要求オブジェクトは循環型です" ---なぜhapi開発者になぜそれを行うのか尋ねます。 – zerkms

答えて

3

編集:私はこの質問を「JavaScriptで循環参照が許可されている理由」と尋ねることを理解しました。

一般に、プロパティの値として自分自身を持つオブジェクト(a.self = a)はあまり役に立ちません。プロパティを取得するオブジェクトへの参照がある場合は、すでにそのオブジェクトへの参照があります。

しかし、自己参照が深い場合は、多くの意味があります。たとえば、ナビゲーションを許可するツリー:

let tree = { children: [], parent: null }; 
tree.children.push({ children: [], parent: tree }); 

ここでは、tree.children[0].parent === treeです。あなたは円形オブジェクトを持っていますが、明確な目的を果たしています。ツリーを下向き(children経由)と上向き(parent経由)の両方でトラバースできます。

+0

私はまた、型エラーを避けるために 'null'の代わりにプロパティを自分自身に設定しているのを見ました – MinusFour

3

私たちはしません。

なぜこのようにしたのですか? - zerkms

関連する問題