Do __proto__ 和 Object.getPrototype 的公开完全相同的功能

Do __proto__ and Object.getPrototype of expose exactly the same functionality?

本文关键字:功能 Object getPrototype Do proto      更新时间:2023-09-26

ES2015 中__proto__的标准化是否否定了对Object.getPrototypeOf的需求?

__proto__Object.getPrototype是否公开完全相同的功能?

不。 .__proto__仅适用于继承自Object.prototype的对象。而且Object.getPrototype不允许突变原型。

ES2015中__proto__的标准化是否否定了对Object.getPrototypeOf的需求?

你把它倒过来了。ES5 Object.getPrototypeOf 和 ES6 Object.setPrototypeOf完全否定了使用__proto__的需要。

Object.prototype.__proto__ 访问器属性仅在 ES6 中标准化,以实现需要它的实现之间的向后兼容性和互操作性。它被明确标记为 Web 旧版功能。查看附件B上的说明("...基于 Web 浏览器的遗留功能。[它们]具有[...]不良特征,[如果不使用],[...]将被大量现有网页从该规范中删除[...]。程序员在编写新的 ECMAScript 代码时不应该使用或假设它们的存在。不鼓励 ECMAScript 实现实现这些特性。