Можно ли изменять уже определенное свойство «класса» javascript с помощью прототипа?

Столкнулся с тем что при попытке изменить с помощью прототипа уже определенное свойство "класса" javascript, возникает ошибка:
Uncaught TypeError: Cannot set property 'module' of undefined


Примерный код:
function Febox (start){
    
    this.start = start;
    
    this.module = null;

    this.start();
    
}

// Переопределения свойста module
Febox.prototype.module = 'dashboard';

var dashboard = new Febox(function (){
     
    alert(this.module);
    
});
  • Вопрос задан
  • 2351 просмотр
Решения вопроса 2
Taraflex
@Taraflex
Ищу работу. Контакты в профиле.
Все работает
jsfiddle.net/QW01_01/cgkk60rp

Uncaught TypeError: Cannot set property 'module' of undefined

Выпадет если Febox.prototype == undefined
Ответ написан
TekVanDo
@TekVanDo
Javascript Developer
javascript в первую очередь обращается к родным свойствам, а уже потом к прототипам, если вы не хотите чтобы пустые значения перекрывали значения прототипа - объявляйте свойство только если это необходимо. jsfiddle.net/cgkk60rp/4

p.s. к значению прототипа всегда можно обратиться так jsfiddle.net/cgkk60rp/3
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы