Наповнення JS розділу

Добридень, Пані та Панове, завдяки вам вдалося зібрати більше 19тис грн з необхідних 15тис на впровадження JS розділу.

JS розділ вже впроваджено - переходимо до його наповнення і почнемо бігти довгий марафон, адже JS має більше 1100 різноманітних методів, властивостей, подій і т.д., які необхідно описати.

Будемо працювати, і вдень, і вночі, щоб орієнтовно взимку закінчити наповнювати JS розділ!

Ви також можете допомогти нам в цьому. Долучайтеся до нашої спільноти в дискорді - ставайте її частиною і допомагайте нашому розвитку.

Також, підтримуйте нас матеріально.

JS метод Class.constructor()

Загальний опис

Метод Class.constructor() є фундаментальною частиною об'єктно-орієнтованого програмування в JavaScript. Він служить для ініціалізації створених об'єктів. Коли новий об'єкт ініціалізується за допомогою ключового слова new, конструктор класу викликається автоматично.

Зазвичай, конструктор приймає певні параметри, які визначають стан або конфігурацію цього об'єкту.

class Car {
    constructor(brand) {
        this.brand = brand;
    }
}

const myCar = new Car("Toyota");
console.log(myCar.brand); // Виведе "Toyota"

Конструктори відіграють ключову роль у створенні екземплярів класу з унікальними властивостями та методами. Їх часто використовують для ініціалізації базового стану об'єкта або для встановлення початкових значень.

Встановлення властивостей: Однією з основних особливостей Class.constructor() є можливість встановлення властивостей об'єкту.

class Person {
    constructor(name, age) {
        this.name = name;
        this.age = age;
    }
}

Виклик базового конструктора: У випадку наслідування можна використовувати super для виклику конструктора базового класу.

class Employee extends Person {
    constructor(name, age, position) {
        super(name, age);
        this.position = position;
    }
}

На відміну від інших методів, Class.constructor() викликається автоматично при створенні об'єкту і не може бути викликаний вручну після ініціалізації.

Нотатка:

Для початківців важливо зрозуміти, що конструктор — це найкраще місце для ініціалізації властивостей об'єкта. Коли ви створюєте новий екземпляр класу, всі властивості, вказані в constructor, будуть присутні в об'єкті.

class Book {
   constructor(title) {
       this.title = title;
   }
}
Нотатка:

При роботі з наслідуванням завжди пам'ятайте викликати конструктор базового класу за допомогою super перед встановленням будь-яких властивостей у підкласі. Це гарантує правильну ініціалізацію всіх базових властивостей.

class Novel extends Book {
   constructor(title, author) {
       super(title);
       this.author = author;
   }
}
Порада:

Уникайте виконання важких операцій або асинхронного коду в конструкторі. Конструктор повинен бути простим та виконуватися швидко. Якщо вам потрібно виконувати складні операції, розгляньте можливість перенесення їх до іншого методу.

Синтаксис

constructor() { /* … */ }
constructor(argument0) { /* … */ }
constructor(argument0, argument1) { /* … */ }
constructor(argument0, argument1, /* …, */ argumentN) { /* … */ }

Параметри

Return

Переглядачі

Переглядач

49

45

9

36

13

Переглядач

49

49

45

36

Переглядач

6.0.0

1.0

Приклади


У цьому прикладі ми створили базовий клас Animal, який має конструктор для ініціалізації імені тварини. Ми розширили цей клас, створивши підклас Dog, який додає додаткову властивість breed. У підкласі ми також перевизначили метод sound(), щоб він повертав звук, характерний для собак.

Важливо зауважити, що ми використали метод super() для виклику конструктора базового класу в конструкторі підкласу.

class Animal {
    constructor(name) {
        this.name = name; // Властивість name зберігає ім'я тварини
    }

    sound() {
        return "Ця тварина видає якийсь звук!";
    }
}

class Dog extends Animal {
    constructor(name, breed) {
        super(name); // Викликаємо конструктор базового класу
        this.breed = breed; // Додаємо властивість breed для породи собаки
    }

    sound() {
        return "Гав!";
    }
}

const myDog = new Dog("Барбос", "Бульдог");
console.log(`${myDog.name} говорить: ${myDog.sound()}`); // Виводить: "Барбос говорить: Гав!"

У цьому прикладі ми створили клас Car з конструктором constructor(), який приймає два параметри: brand та model. При створенні нового екземпляра класу (за допомогою ключового слова new) ми передаємо цим параметрам значення. Метод getCarInfo() повертає рядок із інформацією про автомобіль.

class Car {
    // Конструктор класу Car приймає назву марки та модель автомобіля
    constructor(brand, model) {
        this.brand = brand; // Властивість brand зберігає марку автомобіля
        this.model = model; // Властивість model зберігає модель автомобіля
    }

    // Метод для отримання повної інформації про автомобіль
    getCarInfo() {
        return `Цей автомобіль - ${this.brand} моделі ${this.model}.`;
    }
}

// Створення нового екземпляра класу
const myCar = new Car("Toyota", "Camry");
console.log(myCar.getCarInfo()); // Виводить: "Цей автомобіль - Toyota моделі Camry."