- Продолжение
- С тех пор
Numbelgsвероятно, будет одинаковое значение для всех случаевСобака, по сути, у вас есть дублированная переменнаяNumbelgsвнутри каждогоСобакапример. - Это может не быть проблемой, когда есть только два экземпляра, но представьте себе, есть ли миллионы экземпляров. Это было бы много дублированных переменных.
- Лучший способ — использовать
Прототип собакиАнкет Свойства вПрототипделятся среди всех случаевСобакаАнкет Вот как добавитьNumbelgsкПрототип собак:
Dog.prototype.numLegs = 4;
function Dog(name) {
this.name = name;
}
Dog.prototype.numLegs = 4;
let beagle = new Dog("Snoopy");
let husky = new Dog("Rex";
* Now all instances of `Dog` have the `numLegs` property.
console.log(beagle.numLegs); // will display 4 console.log(husky.numLegs); // will display 4
- Поскольку все экземпляры автоматически имеют свойства на
Прототип, подумайте оПрототипкак «рецепт» для создания объектов. Обратите внимание, чтоПрототипдляБиглиХаскиявляется частьюСобакаконструктор какDog.prototypeАнкет Почти каждый объект в JavaScript имеетПрототипсвойство, которое является частью функции конструктора, которая его создала.
Оригинал: «https://dev.to/rthefounding/using-prototype-properties-to-reduce-duplicate-code-4p5i»