PropertyIsEnumerable and hasOwnProperty method fails when you use the Object.create function in Internet Explorer

Applies to: Internet Explorer 11Internet Explorer 10Internet Explorer 9

Symptoms


Assume that you use the Object.create function to create an object. The object only has numeric properties and only has an object array. In this situation, the issue occurs in Internet Explorer 11, Internet Explorer 10, and Internet Explorer 9. The following is a sample that uses the Object.create function to create an object that only has numeric properties and an object array:
var o = Object.create({}); 
o[0] = 1;
o.hasOwnProperty('0'); // The return value is false. The value is expected to be true.
o.propertyIsEnumerable('0') // The return value is false. The value is expected to be true.

Resolution


Update information

To resolve this issue, install the most recent cumulative security update for Internet Explorer. To do this, go to Microsoft Update.

For technical information about the most recent cumulative security update for Internet Explorer, go to the following Microsoft website:Note This update was first included in security update 2975687.

For more information, click the following article number to view the article in the Microsoft Knowledge Base:
2975687 MS14-037: Cumulative security update for Internet Explorer: July 8, 2014

Status


Microsoft has confirmed that this is a problem in the Microsoft products that are listed in the "Applies to" section.

More Information


For more information about Object.create function, go to the following Microsoft website:See the terminology that Microsoft uses to describe software updates.