const james = { name: 'James', height: `5'10"`, weight: 185, [Symbol.iterator]: function() { const object = this; const keys = Object.keys(object); let index = 0; return { next: () => { const key = keys[index]; index++; return { value: object[key], key: key, done: !(index < keys.length) }; } }; } }; let iterator = james[Symbol.iterator](); console.log(iterator.next().value); // 'James' console.log(iterator.next().value); // `5'10` console.log(iterator.next().value); // 185