Created
May 3, 2013 04:42
-
-
Save juliocesar/5507247 to your computer and use it in GitHub Desktop.
ES6 - for loops
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// ES6 for loops | |
// ============= | |
// Things in ES6 can be "iterable". Arrays are iterable by default. | |
var fruits = ['Apple', 'Banana', 'Grape']; | |
for (var fruit of fruits) | |
console.log('Fruit: ' + fruit); | |
// => "Fruit: Apple" | |
// => "Fruit: Banana" | |
// => "Fruit: Grape" | |
// Objects apparently not iterable as anyone in the planet would expect. | |
// You need to declare an iterator which is a method that defines how | |
// each property is return. | |
// Y U NO USE A DEFAULT ITERATOR?! | |
var person = { name: 'Joe', age: 25, bio: 'Long bio here' }; | |
var attributes = function(person) { | |
for (var attr in person) yield [attr, person[attr] ] | |
}; | |
for (var [attribute, value] of attributes(person)) | |
console.log(attribute + ': ' + value); |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
I believe you also forgot the asterisk in the attributes generator function