简体   繁体   English

如何...循环语句在Javascript中工作?(ECMAScript 6)

[英]How for…of Loop Statement Works in Javascript?(ECMAScript 6)

I have a snippet which I'm experimenting the for...of statement on it: 我有一个片段,我正在试验它for...of声明:

let arr = [3, 5, 7];
arr.foo = "hello";

for (let i in arr) {
   console.log(i); // logs "0", "1", "2", "foo"
}

for (let i of arr) {
   console.log(i); // logs "3", "5", "7"
}

My Question is that for...of should run on iterable values, right? 我的问题是, for...of应该在可迭代值上运行,对吗? so why the second for doesn't print "hello" ? 所以为什么第二次for不打印"hello"

Arrays are iterables over their elements . 数组是其元素的迭代。 That's how it's defined. 这就是它的定义方式。 That is how Array[Symbol.iterator] is implemented. 这就是Array[Symbol.iterator]的实现方式。

See http://www.2ality.com/2015/02/es6-iteration.html . http://www.2ality.com/2015/02/es6-iteration.html

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

相关问题 javascript(ECMAScript)赋值运算符的工作方式 - How javascript(ECMAScript) assignment operator works ..循环(.ECMAScript 6)的Javascript - Javascript for .. of loop (ECMAScript 6) Ecmascript / Javascript可与Internet Explorer一起使用,但不能与FireFox一起使用,为什么? - Ecmascript/Javascript works with Internet Explorer but NOT FireFox Why? JavaScript:在if语句中工作的for循环在三元语句中工作不? 为什么? - JavaScript: The `for loop` that works in an `if` statement does not work in a `ternary` statement? Why? 有人可以解释使用语句值Javascript ECMAScript吗? - Can somebody explain the use of statement values Javascript ECMAScript? 如何测试和声/ ES6 / ECMAScript 6 JavaScript? - How to test harmony / ES6 / ECMAScript 6 JavaScript? 如何运行/测试ECMAScript 3 JavaScript代码? - How to run/test ECMAScript 3 JavaScript code? JavaScript版本与ECMAScript版本如何相关? - How do JavaScript versions correlate to ECMAScript versions? 如何简化JavaScript / ECMAScript数组文字的生成? - How to simplify JavaScript/ECMAScript array literal production? 如何在sonarjs中设置javascript ecmascript版本? - How to set javascript ecmascript version in sonarjs?
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM