<small id='1EtA0'></small><noframes id='1EtA0'>

      <bdo id='1EtA0'></bdo><ul id='1EtA0'></ul>
  1. <i id='1EtA0'><tr id='1EtA0'><dt id='1EtA0'><q id='1EtA0'><span id='1EtA0'><b id='1EtA0'><form id='1EtA0'><ins id='1EtA0'></ins><ul id='1EtA0'></ul><sub id='1EtA0'></sub></form><legend id='1EtA0'></legend><bdo id='1EtA0'><pre id='1EtA0'><center id='1EtA0'></center></pre></bdo></b><th id='1EtA0'></th></span></q></dt></tr></i><div id='1EtA0'><tfoot id='1EtA0'></tfoot><dl id='1EtA0'><fieldset id='1EtA0'></fieldset></dl></div>
    <tfoot id='1EtA0'></tfoot>

  2. <legend id='1EtA0'><style id='1EtA0'><dir id='1EtA0'><q id='1EtA0'></q></dir></style></legend>

      ECMAScript 2015:for 循环中的 const

      时间:2024-04-19

          <bdo id='DY5jX'></bdo><ul id='DY5jX'></ul>
            <tfoot id='DY5jX'></tfoot>
          1. <i id='DY5jX'><tr id='DY5jX'><dt id='DY5jX'><q id='DY5jX'><span id='DY5jX'><b id='DY5jX'><form id='DY5jX'><ins id='DY5jX'></ins><ul id='DY5jX'></ul><sub id='DY5jX'></sub></form><legend id='DY5jX'></legend><bdo id='DY5jX'><pre id='DY5jX'><center id='DY5jX'></center></pre></bdo></b><th id='DY5jX'></th></span></q></dt></tr></i><div id='DY5jX'><tfoot id='DY5jX'></tfoot><dl id='DY5jX'><fieldset id='DY5jX'></fieldset></dl></div>
              <tbody id='DY5jX'></tbody>

              • <legend id='DY5jX'><style id='DY5jX'><dir id='DY5jX'><q id='DY5jX'></q></dir></style></legend>

                <small id='DY5jX'></small><noframes id='DY5jX'>

              • 本文介绍了ECMAScript 2015:for 循环中的 const的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着跟版网的小编来一起学习吧!

                问题描述

                以下两个(或两者都不/两者)代码片段中的哪一个应该在完整的 ECMAScript 2015 实现中工作:

                Which of the two (or neither/ both) code fragments below should be working in a complete ECMAScript 2015 implementation:

                for (const e of a)

                for (const i = 0; i

                据我了解,第一个示例应该可以工作,因为每次迭代都会初始化 e.第二个版本的i不应该也是这样吗?

                From my understanding, the first example should work because e is initialized for each iteration. Shouldn't this also be the case for i in the second version?

                我很困惑,因为现有的实现(Babel、IE、Firefox、Chrome、ESLint)似乎不一致,并且具有 const 的完整实现,两个循环变体的各种行为;我也无法在标准中找到具体点,因此将不胜感激.

                I'm confused because existing implementations (Babel, IE, Firefox, Chrome, ESLint) do not seem to be consistent and have a complete implementation of const, with various behaviours of the two loop variants; I'm also not able to find a concrete point in the standard, so that would be much appreciated.

                推荐答案

                以下 for-of 循环有效:

                The following for-of loop works:

                for (const e of a)
                

                ES6 规范将其描述为:

                The ES6 specification describes this as:

                ForDeclaration : LetOrConst ForBinding

                ForDeclaration : LetOrConst ForBinding

                http://www.ecma-international.org/ecma-262/6.0/index.html#sec-for-in-and-for-of-statements-static-semantics-boundnames

                命令式 for 循环将不起作用:

                The imperative for loop will not work:

                for (const i = 0; i < a.length; i += 1)
                

                这是因为声明只在循环体执行前被评估一次.

                This is because the declaration is only evaluated once before the loop body is executed.

                http://www.ecma-international.org/ecma-262/6.0/index.html#sec-for-statement-runtime-semantics-labelledevaluation

                这篇关于ECMAScript 2015:for 循环中的 const的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持跟版网!

                  • <bdo id='NVBp7'></bdo><ul id='NVBp7'></ul>
                      <tbody id='NVBp7'></tbody>
                      1. <i id='NVBp7'><tr id='NVBp7'><dt id='NVBp7'><q id='NVBp7'><span id='NVBp7'><b id='NVBp7'><form id='NVBp7'><ins id='NVBp7'></ins><ul id='NVBp7'></ul><sub id='NVBp7'></sub></form><legend id='NVBp7'></legend><bdo id='NVBp7'><pre id='NVBp7'><center id='NVBp7'></center></pre></bdo></b><th id='NVBp7'></th></span></q></dt></tr></i><div id='NVBp7'><tfoot id='NVBp7'></tfoot><dl id='NVBp7'><fieldset id='NVBp7'></fieldset></dl></div>

                      2. <small id='NVBp7'></small><noframes id='NVBp7'>

                        <tfoot id='NVBp7'></tfoot>
                      3. <legend id='NVBp7'><style id='NVBp7'><dir id='NVBp7'><q id='NVBp7'></q></dir></style></legend>