我正在使用 redux 和 react。这使得 dispatch 可以作为组件中的 Prop 使用。因此,当我 console.log(this.props)
时,我在调度键下的日志中看到以下对象。
[[Scopes]]: Scopes[5]
0:Closure
1:Closure
2:Closure (createThunkMiddleware)
3:Closure
4:Global
谁能解释一下这是什么?
最佳答案
[[Scopes]]
是 Chrome 开发者工具在内部添加和使用的私有(private)属性,在 C++ 中,here in the source .它显示函数范围内的变量,即可以从该函数访问哪些变量。
例如:
function a() {
var foo = 'foo';
var obj = {
bar: function () {
return foo;
}
};
console.log(obj);
}
a();
这里,附加到属性 obj.bar
的函数在其范围内有变量 foo
,所以当我们检查 [[Scopes]]
obj.bar
的属性我们看到类似的东西
[[Scopes]]: Scopes[2]
0: Closure (a)
foo: "foo"
1: Global
(all global variables)
您可以在控制台中手动检查这些属性,这可能有助于调试,但您无法使用 JavaScript 访问它们,您不应该在应用程序代码中关心它们。
关于javascript - redux 的 dispatch() 中的 [[Scopes]] 是什么,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45506745/