В этой части учебника мы разберём что такое в JavaScript конструктор класса и основы работы с ними.
Что такое конструктор:
Понятие конструктор есть наверное во всех объектно ориентированного программирования языках программирования, если грубо говоря, то это стандартный метод, который запускается во время создания объекта класса.
Во-первых это полезно для автоматизации, во-вторых, это нужно для наследования, но об этом в следующей части.
Примечание:
Также во многих языках есть понятие деструктора, но конкретно в JavaScript, его нет.
JavaScript конструктор:
Теперь перейдём к констриктору на JS, и первое что стоит сказать, это то, что когда создаём класс через функцию, в первую очередь делаем конструктор класса.
Вот не большой пример.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | // Создаём класс Car function Car (brand, speed, weight) { this.brand = brand; // Производитель машины this.speed = speed; // Скорость машины this.weight = weight; // Вес машины // Выводим сообщение что сработал конструктор alert("Это конструктор"); // Создание метода для показа параметров машины this.showCar = function () { // Вывод данных машины alert("Марка: " + this.brand + "; Скорость: " + this.speed + "км/ч; Вес: " + this.weight + "кг;"); } } // Объявляем объект класса Car let car = new Car("ВАЗ", 150, 2000); |
Тут особо не чего объяснять, если вы читали прошлую часть, но как можете заметить, кроме как назначения свойств, мы ещё выводим сообщение, о том что это конструктор, также эту надпись мы не выводим в методе класса и вообще не используем метод.
Поэтому во время объявление объекта этого класса, должно появится сообщение «Это конструктор», вот результат.
Как видите всё сработало так как надо, после этого у нас не чего не появлялось.
Но что делать если нужно создать конструктор в классе, со словом class
, для этого используется ключевое слово constructor
, вот пример.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 | "use strict"; // Создание класса Car class Car { // Объявление конструктора constructor(brand, speed, weight) { this.brand = brand; // Производитель машины this.speed = speed; // Скорость машины this.weight = weight; // Вес машины // Выводим сообщение что сработал конструктор alert("Это конструктор"); } // Создание метода для показа параметров машины showMarka() { // Вывод данных машины alert("Марка: " + this.brend + "; Скорость: " + this.speed + "км/ч; Вес: " + this.weight + "кг;"); } } // Объявляем объект класса Car let car = new Car("ВАЗ", 150, 2000) |
Как видите это абсолютно аналогичный класс как и в прошлый раз, только сделанный другим методом, вывод будет точно такой же, поэтому я не вижу смысла объяснять его работу.
Вывод:
В этой части вы узнали что такое в JavaScript конструктор класса, она не очень большая, так как про конструкоторы особо нечего сказать, но для следующей части нужно обязательно знать эту тему.