- Продолжение
-
Собака
Конструктор из последнего поста работал хорошо. Однако обратите внимание, что всеСобаки
которые созданы сСобака
Конструктор автоматически называется Anakin, коричневый цвет и имеет четыре ноги. Что если вы хотите собак с разными значениями для имени и цвета? Можно изменить свойства каждой собаки вручную, но это было бы большой работой:
let husky = new Dog(); husky.name = "Rex"; husky.color = "blue";
- Предположим, вы писали программу, чтобы отслеживать сотни или даже тысячи разных собак в вольере. Для создания всех собак потребуется много времени, а затем изменить свойства на разные значения для каждого. Легче создать разные
Собака
Объекты, вы можете спроектировать конструктор собаки для принятия параметров:
function Dog(name, color) { this.name = name; this.color = color; this.numLegs = 4; } let terrier = new Dog("Ewok", "tan");
- Затем передайте значения в качестве аргументов, чтобы определить каждую уникальную собаку в
Собака
Конструктор:Пусть собака ("ewok", "tan");
Это дает новый экземпляр собаки симя
иЦвет
Свойства установлены вЭвок
иТан
, соответственно.Numbelgs
Собственность все еще установлена на 4.Терьер
имеет эти свойства:
console.log(terrier.name); // will print out Ewok console.log(terrier.color); // will print out tan console.log(terrier.numLegs); // will print out 4
- Конструктор более гибкий. Теперь можно определить свойства для каждой собаки во время ее создания, что является одним из способов, которым конструкторы JavaScript настолько полезны. Они группируют объекты вместе на основе общих характеристик и поведения и определяют план, который автоматизирует их создание.
Оригинал: «https://dev.to/rthefounding/extend-constructors-to-receive-arguments-3dnb»