簡體   English   中英

redux 的 dispatch() 中的 [[Scopes]] 是什么

[英]What is [[Scopes]] in dispatch() of redux

我正在使用帶有反應的 redux。 這使得 dispatch 作為組件中的 props 可用。 因此,當我console.log(this.props)我會在 dispatch 鍵下的日志中看到以下對象。

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

有人能解釋一下這是什么嗎?

[[Scopes]]是 Chrome 開發者工具在內部添加和使用的私有屬性,在 C++ 中, 在源代碼中 它顯示函數范圍內的變量,即可以從該函數訪問哪些變量。

例如:

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

這里,附加到屬性obj.bar的函數在其作用obj.bar有變量foo ,所以當我們檢查obj.bar[[Scopes]]屬性時,我們會看到類似

[[Scopes]]: Scopes[2]
0: Closure (a)
  foo: "foo"
1: Global
  (all global variables)

您可以在控制台中手動檢查這些屬性,這可能有助於調試,但您無法使用 JavaScript 訪問它們,您也不應該在應用程序代碼中關心它們。

另請參閱: SO - 以編程方式訪問函數位置

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM