ES2015中__proto__
的标准化是否否定了对Object.getPrototypeOf
的需求?
答案 0 :(得分:7)
__proto__
和Object.getPrototype
是否公开了完全相同的功能?
没有。 .__proto__
仅适用于从Object.prototype
继承的对象。并且Object.getPrototype
不允许改变原型。
ES2015中
__proto__
的标准化是否否定了对Object.getPrototypeOf
的需求?
你已经倒退了。 ES5 Object.getPrototypeOf
和ES6 Object.setPrototypeOf
完全否定了使用__proto__
的必要性。
Object.prototype.__proto__
访问器属性仅在ES6中标准化,以实现向后兼容性和需要它的实现之间的互操作性。它被明确标记为Web遗留功能。检查note on Annex B(“ ...遗留功能[用于]基于Web浏览器的ECMAScript实现。[它们]具有不良特性,并且[...]将从此规范中删除[如果不使用]大现有网页的数量[...]。程序员在编写新的ECMAScript代码时不应使用或假设存在[他们]。不鼓励ECMAScript实现这些功能。“)