__proto__适用于IE9或IE10

Van*_*ing 5 javascript internet-explorer prototype

是否有可能__proto__在IE9或IE10中更改对象的属性?或者MS仍然没有计划将它包含在他们的JS引擎中?

我需要它在一个非常特殊的情况下,我需要__proto__ 创建对象进行更改.

Eri*_*son 12

__proto__将在ES6中实现标准化.它目前在ES6草案的附录B中,实际上意味着如果它被实现,它需要具有以下语义.

__proto__两者都可用作访问器,Object.prototype这意味着所有对象都可以默认读取和写入.但是,它可以从Object.prototype(使用delete)中删除.删除__proto__后将作为普通数据属性,对设置没有副作用.

__proto__在对象文字中也是一种特殊的句法形式.即使Object.prototype.__proto__被删除,它也可以设置[[Prototype]] .

var p = {a: 1};
var o = {
  __proto__: p,
  b: 2
}

ES6还介绍了Object.setPrototypeOf(不在附录中).这比设定更受欢迎__proto__.

__proto__适用于所有现代浏览器,包括Internet Explorer 11.