2.4.16.4.3 Enumerator.prototype.item ( )
If the this object is not an Enumerator object, raise a TypeError exception.
1. Let collection be the value of the this object’s [[Collection]] property.
2. If collection is undefined, return undefined.
3. Let state be the value of the this object’s [[EnumerationState]] property.
4. If state indicates that the end of the enumeration has been reached, return undefined.
5. Return the current enumeration item as indicated by state.