假设我们有一个如下所示的函数:constfn=()=>x;此函数应返回x的值,其中x在全局范围内可用。最初这是undefined但如果我们定义x:constx=42;然后我们可以期望fn返回42。现在假设我们想将fn呈现为字符串。在JavaScript中,我们有toString用于此目的。然而,我们还假设我们希望最终在新的上下文中执行fn(即使用eval),因此它使用的任何全局引用都应该在我们调用之前或期间内化toString.在将fn转换为字符串时,如何使x成为局部变量,其值反射(reflect)x的全局值?假设我们不知道x被命名为x。也就是说我们可以假设变量包含在同一个模块中。