- Продолжение
- С тех пор
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»