Имеют ли __proto__ и Object.getPrototype одинаковые функциональные возможности?
Ли стандартизация __proto__
в ES2015 отрицают необходимость Object.getPrototypeOf
?
1 ответ
Делать
__proto__
а такжеObject.getPrototype
выставить точно такой же функционал?
Нет. .__proto__
работает только на объектах, которые наследуются от Object.prototype
, А также Object.getPrototype
не позволяет мутировать прототип.
Ли стандартизация
__proto__
в ES2015 отрицают необходимостьObject.getPrototypeOf
?
Вы получили это задом наперед. ES5 Object.getPrototypeOf
и ES6 Object.setPrototypeOf
полностью отрицают необходимость когда-либо использовать __proto__
,
Object.prototype.__proto__
Свойство accessor стандартизировано только в ES6 для обеспечения обратной совместимости и взаимодействия между реализациями, которым это необходимо. Он явно помечен как устаревшая веб-функция. Ознакомьтесь с примечанием к Приложению B ("… унаследованные функции [для] реализаций ECMAScript на основе веб-браузера. [Они] имеют […] нежелательные характеристики и […] будут удалены из этой спецификации [если не используются] большим количеством существующих веб-сайтов". страниц […]. Программисты не должны использовать или предполагать существование [них] при написании нового кода ECMAScript. Реализациям ECMAScript не рекомендуется реализовывать эти функции.")