Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Вивчайте Використання Статичних Методів у JavaScript | Володіння Класами Та Наслідуванням У JavaScript
Просунуте Володіння JavaScript

bookВикористання Статичних Методів у JavaScript

Статичні методи забезпечують спільну функціональність на рівні класу, доступну без створення екземпляра.

Що таке статичні методи?

Уявіть собі енергетичну компанію, яка постачає електроенергію. Сама компанія (клас) забезпечує електрику, але вам (екземпляру) не потрібно будувати електростанцію вдома. Натомість ви безпосередньо користуєтеся послугою компанії (статичним методом).

Як визначати та використовувати статичні методи

Статичні методи оголошуються за допомогою ключового слова static. Їх можна викликати безпосередньо з класу, але вони не мають доступу до властивостей або методів екземпляра, оскільки працюють на рівні класу.

123456789101112131415
class MathUtils { // Static method to calculate the square of a number static square(number) { return number * number; } // Static method to calculate the cube of a number static cube(number) { return number * number * number; } } // Calling static methods directly from the class console.log(MathUtils.square(4)); // Output: 16 console.log(MathUtils.cube(3)); // Output: 27
copy

У цьому прикладі методи square та cube є статичними, тобто вони належать до класу MathUtils і можуть викликатися безпосередньо на самому класі. Ці методи виконують математичні операції та є спільними для всього класу без необхідності асоціюватися з конкретним екземпляром.

Навіщо використовувати статичні методи?

Статичні методи корисні, коли потрібно надати функціональність, пов’язану з класом, але яка не повинна бути прив’язана до окремих екземплярів. Вони часто використовуються для утилітних функцій, допоміжних методів або логіки, що застосовується до класу загалом.

  • Статичні методи часто застосовуються для операцій, які мають універсальний характер, наприклад, математичні обчислення, обробка дат або форматування рядків;
  • Статичні методи також можуть використовуватися для операцій, що стосуються самого класу, наприклад, створення екземплярів певним чином, керування конфігураціями на рівні класу або надання доступу до даних класу.

Приклад: статичний утилітний метод

Розглянемо приклад із реального життя, де клас User має статичний метод для порівняння ідентифікаторів двох користувачів. Цей метод не потребує взаємодії з даними окремого користувача, тому він може бути статичним методом класу.

12345678910111213141516171819
class User { constructor(id, name) { this.id = id; this.name = name; } // Static method to compare user IDs static compareIds(user1, user2) { return user1.id === user2.id; } } const user1 = new User(101, 'Alice'); const user2 = new User(102, 'Bob'); const user3 = new User(101, 'Charlie'); // Using the static method to compare user IDs console.log(User.compareIds(user1, user2)); // Output: false console.log(User.compareIds(user1, user3)); // Output: true
copy

У цьому прикладі статичний метод compareIds належить до класу User і дозволяє порівнювати ідентифікатори двох екземплярів User без необхідності доступу до їхніх окремих властивостей або методів.

Основні відмінності між статичними та екземплярними методами

Приклад із реального життя: клас утиліт для застосунку

Розглянемо ситуацію, коли застосунку потрібно вести журнал даних. Клас Logger може містити статичні методи для журналювання повідомлень з різними рівнями (info, warning, error). Ці методи доступні глобально без створення екземпляра логера.

123456789101112131415161718
class Logger { static info(message) { console.log(`INFO: ${message}`); } static warning(message) { console.warn(`WARNING: ${message}`); } static error(message) { console.error(`ERROR: ${message}`); } } // Calling static methods directly from the Logger class Logger.info('Application started'); Logger.warning('Low disk space'); Logger.error('Uncaught exception occurred');
copy

У цьому прикладі статичні методи info, warning та error є утилітними функціями, які можна викликати глобально для журналювання повідомлень на різних рівнях. Для використання цих методів не потрібно створювати екземпляр класу Logger.

1. Що таке статичний метод?

2. Як визначити статичний метод у класі?

question mark

Що таке статичний метод?

Select the correct answer

question mark

Як визначити статичний метод у класі?

Select the correct answer

Все було зрозуміло?

Як ми можемо покращити це?

Дякуємо за ваш відгук!

Секція 1. Розділ 12

Запитати АІ

expand

Запитати АІ

ChatGPT

Запитайте про що завгодно або спробуйте одне із запропонованих запитань, щоб почати наш чат

Awesome!

Completion rate improved to 2.22

bookВикористання Статичних Методів у JavaScript

Свайпніть щоб показати меню

Статичні методи забезпечують спільну функціональність на рівні класу, доступну без створення екземпляра.

Що таке статичні методи?

Уявіть собі енергетичну компанію, яка постачає електроенергію. Сама компанія (клас) забезпечує електрику, але вам (екземпляру) не потрібно будувати електростанцію вдома. Натомість ви безпосередньо користуєтеся послугою компанії (статичним методом).

Як визначати та використовувати статичні методи

Статичні методи оголошуються за допомогою ключового слова static. Їх можна викликати безпосередньо з класу, але вони не мають доступу до властивостей або методів екземпляра, оскільки працюють на рівні класу.

123456789101112131415
class MathUtils { // Static method to calculate the square of a number static square(number) { return number * number; } // Static method to calculate the cube of a number static cube(number) { return number * number * number; } } // Calling static methods directly from the class console.log(MathUtils.square(4)); // Output: 16 console.log(MathUtils.cube(3)); // Output: 27
copy

У цьому прикладі методи square та cube є статичними, тобто вони належать до класу MathUtils і можуть викликатися безпосередньо на самому класі. Ці методи виконують математичні операції та є спільними для всього класу без необхідності асоціюватися з конкретним екземпляром.

Навіщо використовувати статичні методи?

Статичні методи корисні, коли потрібно надати функціональність, пов’язану з класом, але яка не повинна бути прив’язана до окремих екземплярів. Вони часто використовуються для утилітних функцій, допоміжних методів або логіки, що застосовується до класу загалом.

  • Статичні методи часто застосовуються для операцій, які мають універсальний характер, наприклад, математичні обчислення, обробка дат або форматування рядків;
  • Статичні методи також можуть використовуватися для операцій, що стосуються самого класу, наприклад, створення екземплярів певним чином, керування конфігураціями на рівні класу або надання доступу до даних класу.

Приклад: статичний утилітний метод

Розглянемо приклад із реального життя, де клас User має статичний метод для порівняння ідентифікаторів двох користувачів. Цей метод не потребує взаємодії з даними окремого користувача, тому він може бути статичним методом класу.

12345678910111213141516171819
class User { constructor(id, name) { this.id = id; this.name = name; } // Static method to compare user IDs static compareIds(user1, user2) { return user1.id === user2.id; } } const user1 = new User(101, 'Alice'); const user2 = new User(102, 'Bob'); const user3 = new User(101, 'Charlie'); // Using the static method to compare user IDs console.log(User.compareIds(user1, user2)); // Output: false console.log(User.compareIds(user1, user3)); // Output: true
copy

У цьому прикладі статичний метод compareIds належить до класу User і дозволяє порівнювати ідентифікатори двох екземплярів User без необхідності доступу до їхніх окремих властивостей або методів.

Основні відмінності між статичними та екземплярними методами

Приклад із реального життя: клас утиліт для застосунку

Розглянемо ситуацію, коли застосунку потрібно вести журнал даних. Клас Logger може містити статичні методи для журналювання повідомлень з різними рівнями (info, warning, error). Ці методи доступні глобально без створення екземпляра логера.

123456789101112131415161718
class Logger { static info(message) { console.log(`INFO: ${message}`); } static warning(message) { console.warn(`WARNING: ${message}`); } static error(message) { console.error(`ERROR: ${message}`); } } // Calling static methods directly from the Logger class Logger.info('Application started'); Logger.warning('Low disk space'); Logger.error('Uncaught exception occurred');
copy

У цьому прикладі статичні методи info, warning та error є утилітними функціями, які можна викликати глобально для журналювання повідомлень на різних рівнях. Для використання цих методів не потрібно створювати екземпляр класу Logger.

1. Що таке статичний метод?

2. Як визначити статичний метод у класі?

question mark

Що таке статичний метод?

Select the correct answer

question mark

Як визначити статичний метод у класі?

Select the correct answer

Все було зрозуміло?

Як ми можемо покращити це?

Дякуємо за ваш відгук!

Секція 1. Розділ 12
some-alt