2017-08-04 11 views
2

私はreactxで反応を使用しています。これにより、ディスパッチはコンポーネントの小道具として利用可能になります。だから私はconsole.log(this.props)私は以下のオブジェクトをログの下のディスパッチキーで見る。reduxのdispatch()の[[Scopes]]とは

[[Scopes]]: Scopes[5] 
    0:Closure 
    1:Closure 
    2:Closure (createThunkMiddleware) 
    3:Closure 
    4:Global 

誰かがこれについて説明できますか?

+0

非常に奇妙な出力ですか? –

+0

完全なログ '派遣:機能(アクション) 引数:(...) 、発信者:(...) 長さ:1 名: "" プロトタイプ:オブジェクト __proto __:機能() [[FunctionLocation] ]:index.js?f248:9 [Scopes]]:Scopes [5] errorText:undefined} ' –

+0

質問が分かりません:-)あなたは小道具で派遣されていませんか? –

答えて

2

[[Scopes]]は、Chrome開発ツールがC++で内部的に追加して使用するプライベートプロパティです。here in the sourceです。それは、関数の範囲内にある変数、すなわちその関数からどの変数にアクセスできるかを表示します。例えば

ここ
function a() { 
    var foo = 'foo'; 
    var obj = { 
    bar: function() { 
     return foo; 
    } 
    }; 
    console.log(obj); 
} 
a(); 

、その範囲内の変数fooを持ってobj.barプロパティに装着されている機能、我々はobj.bar[[Scopes]] propetyを調べるときに、我々は

[[Scopes]]: Scopes[2] 
0: Closure (a) 
    foo: "foo" 
1: Global 
    (all global variables) 
のようなものを参照してください

コンソールでこれらのプロパティを手動で検査できます。これは、デバッグに役立つ可能性がありますあなたはJavaScriptを使用してそれらにアクセスすることはできませんし、アプリケーションコードでそれらを気にするべきではありません。

も参照してください。SO - Access function location programmatically

関連する問題