@goodknight

Насколько правилен этот код (JavaScript прототипы)?

Здравствуйте. Я только начинаю работать с JavaScript.

Этот код у меня работает как надо, значения, что написаны в прототипе, но не вписаны в сам объект, выводятся из прототипа, а те, что вписаны в объекте, выводятся из объекта.
Я не нашел ресурса, на котором можно задать такой простой вопрос, поэтому спрашиваю здесь.

Насколько валиден этот код?
В частности, смущает указание свойства объекту "child" в таком виде.

var parent = {
    city : "Cardiff",
    hair : "white",
    surname : "Smith",
    name : "John"
};

var child = Object.create(parent);
child.name = "Mike"

child.hair //white
child.name //Mike
child.city //Cardiff
  • Вопрос задан
  • 2494 просмотра
Решения вопроса 1
ghaiklor
@ghaiklor
NodeJS TechLead
В принципе, он валиден. Только свойства объекта лучше объявлять через this, а методы в прототипе. Как-то так, пишу без проверки:
somePrototype = {
    someMethod: function() {
        return this.name;
    }
};
Object.create(somePrototype, {
    name: {
        value: 'John'
    },
    //дальше другие атрибуты объекта
});
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

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