Сообщение от Antonius
|
Но если метод будет вызван у класса-потомка, то данные будут инициализированы именно у него, а класс-предок о них ничего не узнает, верно?
|
this._data увидит значение в любом из прототипов цепочки.
Тут другой момент. Сначала надо разобраться, действительно ли _data должна быть в прототипе. Ведь в этом случае оно будет общее для всех экземпляров. Если это неправильно, то лучше присваивать в объект, а не в прототип: this._data = {}; - это будет работать одинаково для класса-предка и класса-потомка (я говорю о типе объекта).
Ну а если _data и вправду должна быть общей, то разница в работе будет: при вызове метода для объекта класса-предка создастся общая _data для всех, а в случае класса-потомка - только для классов-потомков, предки потом могут создать свою _data. Потому в этом случае правильнее явно указать имя класса:
MyObj.prototype._data = {};