boolean Object.prototype.propertyIsEnumerable(V:string|mixed)
Returns this[V].[[Enumerable]], coercing V to a string and this to an object. Always returns false if this does not have a property V.
Object.prototype.propertyIsEnumerable = function(V){
var P = ToString(V);
var O = ToObject(this);
var desc = O.[[GetOwnProperty]](P);
if (!desc) return false;
return desc.[[Enumerable]];
}
Note that P is converted to String first so as to maintain the behaviour of previous specifications when an error is thrown.