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. Додавання методів до прототипів є потужним механізмом для розширення функціональності, але слід використовувати його обережно, щоб уникнути непередбачуваних змін у поведінці вашого коду.
автор: Bond

Порада

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

автор: Bond
Порада

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

автор: Bond
Порада

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

автор: Bond
Нотатка

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

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

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

автор: Bond

Синтаксис

Number

Переглядачі

Підтримка: стаціонарні переглядачі
Переглядач Google Chrome Mozilla Firefox Apple Safari Opera Microsoft EDGE
1 1 1 3 12
Підтримка: мобільні переглядачі
Переглядач Mobile Google Android Mobile Google Chrome Mobile Mozilla Firefox Mobile Apple Safari
4.4 18 4 1
Підтримка: серверні переглядачі
Переглядач Node.js Deno
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
автор: Bond

У цьому більш складному прикладі ми додаємо метод 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
автор: Bond

Коментарі

Коментарів ще немає — будьте першим!

Відповідь для

Увійдіть — коментар з'явиться одразу, без капчі й очікування перевірки.

Пропозиція правки

Ваша версія — : після перевірки замінить чинну. Нова порада чи нотатка — з'явиться на сторінці після перевірки.

Ви гість — діють добові ліміти. Увійдіть, щоб пропонувати без капчі.

Ваша версія секції «»: після перевірки замінить чинну.

Ви гість — діють добові ліміти. Увійдіть, щоб пропонувати без капчі.

Ваша версія опису «»: після перевірки замінить чинну.

Ви гість — діють добові ліміти. Увійдіть, щоб пропонувати без капчі.

Зворотний зв'язок
Вхід