Жесть… я только начинал верить в IE
в 11 версии не исправили
------------
причем, если сразу же удалить fix, то баг останется, поэтому вот такой декоратор для Object.create не прокатил:
//IE9-11 Object.create bug fix
(function () {
var object = Object.create({});
object[0] = null;
return object.hasOwnProperty(0); //→ false in IE9-11
}()) || (Object.create = new function () {
var create = Object.create;
return function (prototype, properties) {
var object = create(prototype, properties);
object[0] = null;
object.fix = null;
delete object[0];
//delete object.fix; //нельзя удалять!
return object;
};
});
придется фиксить так:
//IE9-11 Object.create bug fix
(function () {
var object = Object.create({});
object[0] = null;
return object.hasOwnProperty(0); //→ false in IE9-11
}()) || new function () {
var create = Object.create;
Object.create = function (prototype, properties) {
function NOP() {}
NOP.prototype = prototype;
//Object.defineProperties fixes a bug
return properties ? create(prototype, properties) : new NOP;
};
};