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)); // "Не користуйтеся цим методом!"
Особливості:
- Працюючи з
Number.prototype
, важливо пам'ятати, що зміни в цьому об'єкті впливають на всі числа в вашому застосунку. Тому використовуйте його обережно і уникаєте зміни стандартних методів. - Методи або властивості, додані до
Number.prototype
, можуть взаємодіяти ізthis
, яке буде посилатися на поточний об'єктNumber
. - Додавання методів до прототипів є потужним механізмом для розширення функціональності, але слід використовувати його обережно, щоб уникнути непередбачуваних змін у поведінці вашого коду.
Нотатка: | При роботі з числами ви можете додавати власні методи до прототипу
Тепер можна використовувати цей метод для будь-якого числа: |
Порада: | Хоча додавання методів до |
Порада: |
|
Порада: | Переконайтеся, що ваші нові методи, додані до |
Синтаксис
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