您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

JavaScript``let''的说明和for循环的块作用域

JavaScript``let''的说明和for循环的块作用域

这只是ES6的语法糖吗?

不,它不仅仅是语法糖。详细资料埋在§13.6.3.9中 CreatePerIterationEnvironment

这如何运作?

如果letfor语句中使用该关键字,它将检查其绑定的名称,然后

您的循环语句for (var i = 0; i < 10; i++) process.nextTick(_ =>console.log(i));简化为一个简单的

// omitting braces when they don't introduce a block
var i;
i = 0;
if (i < 10)
    process.nextTick(_ => console.log(i))
    i++;
    if (i < 10)
        process.nextTick(_ => console.log(i))
        i++;
        …

while for (let i = 0; i < 10; i++) process.nextTick(_ => console.log(i)); does “desugar” to the much more complicated

// using braces to explicitly denote block scopes,
// using indentation for control flow
{ let i;
  i = 0;
  __status = {i};
}
{ let {i} = __status;
  if (i < 10)
      process.nextTick(_ => console.log(i))
      __status = {i};
}   { let {i} = __status;
      i++;
      if (i < 10)
          process.nextTick(_ => console.log(i))
          __status = {i};
    }   { let {i} = __status;
          i++;
          …
javascript 2022/1/1 18:16:46 有567人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶