# for of looping over object values

**URL:** <https://es.discourse.group/t/for-of-looping-over-object-values/528>\
**Category:** 💡 Ideas\
**Created:** [November 5, 2020, 5:52pm UTC](https://es.discourse.group/t/for-of-looping-over-object-values/528 "2020-11-05T17:52:07Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![seekr3](https://yyz2.discourse-cdn.com/free1/user_avatar/es.discourse.group/seekr3/32/476_2.png) [@seekr3](https://es.discourse.group/u/seekr3)\
**Post date:** [November 5, 2020, 5:52pm UTC](https://es.discourse.group/t/for-of-looping-over-object-values/528/1 "2020-11-05T17:52:07Z")

</div>

for arrays "for in" loops over keys, "for of" loops over values.

would be nice if "for of" iterated over object values also so you didn't have to use Object.values()

would change this:

for (const value of Object.values(object)) {  
// code...  
}

to this:

for (const value of object) {  
// code...  
}

---

<div class="post-metadata">

**Author:** ![ljharb](https://yyz2.discourse-cdn.com/free1/user_avatar/es.discourse.group/ljharb/32/8_2.png) [@ljharb](https://es.discourse.group/u/ljharb)\
**Post date:** [November 5, 2020, 6:24pm UTC](https://es.discourse.group/t/for-of-looping-over-object-values/528/2 "2020-11-05T18:24:56Z")

</div>

That can't work unless Object.prototype has `Symbol.iterator`, which would both a) not work for `Object.create(null)`, and b) would not make sense for booleans, numbers, dates, regexes, functions, symbols, etc, all of which inherit from Object.prototype.

A solution that didn't depend on Symbol.iterator would fix the first problem, but wouldn't address the second.

---

<div class="post-metadata">

**Author:** ![seekr3](https://yyz2.discourse-cdn.com/free1/user_avatar/es.discourse.group/seekr3/32/476_2.png) [@seekr3](https://es.discourse.group/u/seekr3)\
**Post date:** [November 5, 2020, 6:33pm UTC](https://es.discourse.group/t/for-of-looping-over-object-values/528/3 "2020-11-05T18:33:30Z")

</div>

yeah, makes sense you couldn't implement an iterator on Object.prototype. Too many things non-iterable types inherit from it.
