是否有可能this
从函数中得到任何约束和所有已关闭的变量?
例如
function f() { console.log(this); } let x = f.bind(7); function g() { console.log(x); }
是否有可能提取7
从x
?
g
结束了x
.是否有可能获得一系列封闭变量g
?
T.J. Crowder.. 9
是否有可能提取
7
从x
?
不.f
必须明确地为您提供一种检索方法this
(例如function f() { return this; }
).既然没有,你就不能.
在规范术语中,您询问是否可以从函数中检索[[BoundThis]]内部插槽的值.[[BoundThis]]仅在规范中出现三次:其中描述了绑定函数奇异对象,其中描述了它们的[[Call]]内部操作,并概述了创建它们的过程.因此,不是在允许您检索值的操作中.
g
结束了x
.是否有可能获得一系列封闭变量g
?
不.:-)在拥有私人信息和公共API方面,这是一件好事.
提供这将需要一种方法来访问附加到其词汇环境对象g
及其所有外部词汇环境中的绑定列表.规范中没有.
没有规范的原因,其中一个或两个都无法添加,但我认为(这只是我的个人推测)TC39(决定这些事情的委员会)将是第一次出售并几乎不可能出售第二(具有大量和负面的实施影响).
是否有可能提取
7
从x
?
不.f
必须明确地为您提供一种检索方法this
(例如function f() { return this; }
).既然没有,你就不能.
在规范术语中,您询问是否可以从函数中检索[[BoundThis]]内部插槽的值.[[BoundThis]]仅在规范中出现三次:其中描述了绑定函数奇异对象,其中描述了它们的[[Call]]内部操作,并概述了创建它们的过程.因此,不是在允许您检索值的操作中.
g
结束了x
.是否有可能获得一系列封闭变量g
?
不.:-)在拥有私人信息和公共API方面,这是一件好事.
提供这将需要一种方法来访问附加到其词汇环境对象g
及其所有外部词汇环境中的绑定列表.规范中没有.
没有规范的原因,其中一个或两个都无法添加,但我认为(这只是我的个人推测)TC39(决定这些事情的委员会)将是第一次出售并几乎不可能出售第二(具有大量和负面的实施影响).