Skip to content

Instantly share code, notes, and snippets.

@zubairalam
Forked from juliocesar/for-loops.js
Created December 22, 2015 13:49
Show Gist options
  • Save zubairalam/30573ab4519a09d3507d to your computer and use it in GitHub Desktop.
Save zubairalam/30573ab4519a09d3507d to your computer and use it in GitHub Desktop.
ES6 - for loops
// 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