打字稿:箭头功能里面的范围是什么?

时间:2017-03-01 18:23:32

标签: typescript scope arrow-functions

我写了以下的Typescript代码:

$('document').ready(() => {
   let fileSystem = new FileSystem(fileSystemInputs);
   $('#debug').click( () => {
      console.log(fileSystem);
      debug;
   });
}

我发现,一旦我点击#debug',控制台就会打印出' fileSystem'宾语。当我打开调试器(在Chrome开发人员工具中)时,我可以看到' fileSystem'观察窗口中的对象。由于它在箭头功能中有效,因此变化清晰。

然而,当我删除行" console.log(fileSystem);"现在的代码只有:

$('document').ready(() => {
   let fileSystem = new FileSystem(fileSystemInputs);
   $('#debug').click( () => {
      debug;
   });
}

一旦我在调试器中打开监视窗口,我就会看到' fileSystem'未定义。这一行:

 console.log(fileSystem)

不应该改变范围,那么变量怎么可能消失呢?

0 个答案:

没有答案