考虑在 上定义的这个简单的生成器函数Object.prototype
:
Object.prototype.defineProperty(Object.prototype, 'pairs', {
enumerable: false,
* value( ) {
for (const key in this)
yield [ key, this[key] ];
} });
当然,也可以这样使用:
const object = { goats_teleported: 42 };
for (const [ key, value ] of object.pairs());
但是我想知道是否有任何方法可以将pairs
函数分配给对象原型,因此它将在for-of
循环中自动触发而无需显式调用;像这样:
for (const [ key, value ] of object);
有任何想法吗?