Обычно вы получаете доступ к объекту prototype
из функции конструктора, но вы также можете получить его из объекта, но не используя .prototype
.
Неофициальный способ (поддерживается не во всех браузерах)получить объект-прототип объекта со свойством __proto__
.(Я полагаю, что это не рекомендуется в браузерах, которые его поддерживают (редактируют)).
Официальный способ ECMAScript 5 (также не поддерживается во всех браузерах) для получения объекта-прототипа объекта заключается в использовании Object.getPrototypeOf()
.
В вашем случае .prop
ссылается на литерал объекта, так что вы уже знаете, что прототип - Object.prototype
.
Object.getPrototypeOf( {} ) === Object.prototype; // true
Обратите внимание, что почти всегда плохая идеяextend Object.prototype
.
"Возможно, я выбрал неправильный подход (пытаясь навсегда изменить реквизит), но я бы хотя бы хотел узнать, почему кодвыше не работает. "
Если вы просто пытаетесь изменить объект, на который ссылается .prop
, просто выполните:
obj.prop.new_attr = "some_value";