`Array`
, `Boolean`
, `Number`
, `String`
, etc.
Since the `for ... in`
statement loops over the enumerable properties, it will include new methods which are added to the prototype.Array.prototype.isEmpty = function () {return (this.length = 0);};const a = ['cat', 'dog', 'mouse'];for (let i in a) {console.log(i); // '0', '1', '2', 'isEmpty'}