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

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

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

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

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

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

JS властивість Number.prototype

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

Number.prototype - це прототипний об'єкт, що визначає властивості та методи для чисел та об'єктів типу Number в JavaScript. Він є основою для всіх чисел та їхніх методів, дозволяючи розширювати або змінювати функціональність чисел.

Основна ідея використання Number.prototype полягає у додаванні нових властивостей та методів для всіх чисел у вашому застосунку.

Давайте розглянемо приклад, як можна додати новий метод до всіх чисел:

Number.prototype.isPositive = function() {
    return this > 0;
};

let num = 42;
console.log(num.isPositive()); // true

У цьому прикладі ми додали новий метод isPositive до прототипу Number, і тепер усі числа в JavaScript мають доступ до цього методу.

Крім того, ви можете змінити поведінку вже існуючих методів, але будьте обережні з цим:

Number.prototype.toFixed = function() {
    return "Не користуйтеся цим методом!";
};

let num = 2.456;
console.log(num.toFixed(2)); // "Не користуйтеся цим методом!"

Особливості:

  1. Працюючи з Number.prototype, важливо пам'ятати, що зміни в цьому об'єкті впливають на всі числа в вашому застосунку. Тому використовуйте його обережно і уникаєте зміни стандартних методів.
  2. Методи або властивості, додані до Number.prototype, можуть взаємодіяти із this, яке буде посилатися на поточний об'єкт Number.
  3. Додавання методів до прототипів є потужним механізмом для розширення функціональності, але слід використовувати його обережно, щоб уникнути непередбачуваних змін у поведінці вашого коду.
Нотатка:

При роботі з числами ви можете додавати власні методи до прототипу Number, що дозволить вам розширити функціональність числових об'єктів. Наприклад, якщо ви хочете створити метод для перевірки, чи є число парним:

Number.prototype.isEven = function() {
 return this % 2 === 0;
};

Тепер можна використовувати цей метод для будь-якого числа: (4).isEven() // true.

Порада:

Хоча додавання методів до Number.prototype може бути корисним, уникайте частого розширення цього прототипу. Це може призвести до конфліктів із сторонніми бібліотеками або змінювати стандартну поведінку.

Порада:

Number.prototype містить вже вбудовані методи, як toFixed або toExponential. Це потужні інструменти для форматування чисел, тому перед додаванням нових методів завжди перевіряйте, чи існує вже стандартний метод, що задовольнить ваші потреби.

Порада:

Переконайтеся, що ваші нові методи, додані до Number.prototype, працюють коректно у всіх сценаріях. Це особливо важливо, якщо ви плануєте використовувати свій код у більших проектах або ділитися ним із спільнотою.

Синтаксис

Number

Значення

Return

Переглядачі

Переглядач

1

1

1

3

12

Переглядач

4.4

18

4

1

Переглядач

0.10.0

1.0

Приклади


У цьому прикладі ми додаємо новий метод isEven() до Number.prototype, який перевіряє, чи є даний номер парним.

Number.prototype.isEven = function() {
    return this % 2 === 0;
}

let num = 4;
console.log(num.isEven()); // Вивід: true

let anotherNum = 7;
console.log(anotherNum.isEven()); // Вивід: false

У цьому більш складному прикладі ми додаємо метод factorial() до Number.prototype, який обчислює факторіал числа.

Number.prototype.factorial = function() {
    if (this < 0) 
        return -1; // Факторіал від'ємних чисел не визначений
    else if (this === 0) 
        return 1; // Факторіал 0 завжди дорівнює 1
    else {
        let factorial = 1;
        for (let i = 1; i <= this; i++) {
            factorial *= i;
        }
        return factorial;
    }
}

let num = 5;
console.log(num.factorial()); // Вивід: 120

let anotherNum = 0;
console.log(anotherNum.factorial()); // Вивід: 1