Skip to content

Instantly share code, notes, and snippets.

@kaosat-dev
Forked from juliocesar/for-loops.js
Last active August 29, 2015 14:18
Show Gist options
  • Save kaosat-dev/0630687012693f1c6923 to your computer and use it in GitHub Desktop.
Save kaosat-dev/0630687012693f1c6923 to your computer and use it in GitHub Desktop.
// 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