JS властивість Date.prototype
Загальний опис
Date.prototype - це прототип для всіх об'єктів дати в JavaScript, який містить методи та властивості, спільні для всіх дат. Ця властивість дозволяє розширювати базовий об'єкт дати, додаючи нові методи або змінюючи існуючі.
Прототипи використовуються для делегування властивостей та методів від одного об'єкта до іншого. Зокрема, коли створюється новий екземпляр об'єкта дати (через конструктор Date
), цей об'єкт автоматично наслідує всі властивості та методи від Date.prototype
.
Наприклад:
let today = new Date();
console.log(today.getFullYear()); // Повертає поточний рік, наприклад, 2023.
У цьому прикладі, метод getFullYear()
насправді знаходиться у Date.prototype
, а не в самому об'єкті today
. Проте, завдяки механізму прототипів, об'єкт today
може використовувати цей метод так, ніби він його власний.
Ви можете додавати власні методи до Date.prototype
, щоб робити з датами щось специфічне для вашого застосунку.
Date.prototype.dayOfYear = function() {
let start = new Date(this.getFullYear(), 0, 0);
let difference = this - start;
let oneDay = 1000 * 60 * 60 * 24;
return Math.floor(difference / oneDay);
};
let myDate = new Date();
console.log(myDate.dayOfYear()); // Повертає номер дня в році.
Хоча можливо додавати власні методи до прототипів вбудованих конструкторів, рекомендується робити це обережно. Зміна базових прототипів може призвести до непередбачуваних наслідків, особливо якщо інші частини вашого коду (або сторонні бібліотеки) очікують стандартну поведінку.
Нотатка: | Хоча JavaScript дозволяє вам модифікувати |
Порада: | Для більш досвідчених програмістів це може здатися очевидним, але завжди переконайтеся, що об'єкт, з яким ви працюєте, є екземпляром
|
Порада: | Рекомендується докладно вивчити всі методи |
Синтаксис
Date.prototype
Значення
Return
Переглядачі
Переглядач | |||||
---|---|---|---|---|---|
1 |
1 |
1 |
3 |
12 |
Переглядач | ||||
---|---|---|---|---|
4.4 |
18 |
4 |
1 |
Переглядач | ||
---|---|---|
0.10.0 |
1.0 |
Приклади
У цьому прикладі ми створюємо новий об'єкт date
, використовуючи конструктор Date()
. Цей об'єкт за замовчуванням представляє поточний час і дату. Після цього ми використовуємо метод getFullYear()
, щоб отримати поточний рік з об'єкта date
і вивести його в консоль.
// Створюємо новий об'єкт дати
let date = new Date();
// Виводимо поточний рік
console.log("Поточний рік:", date.getFullYear());
У другому прикладі ми спочатку створюємо функцію isLeapYear
, яка визначає, чи є конкретний рік високосним. Вона повертає true
для високосних років та false
для не високосних. Наступно, ми створюємо дату за допомогою конструктора Date
із рядковим аргументом. Використовуючи метод getFullYear()
, ми отримуємо рік цієї дати і перевіряємо його за допомогою нашої функції isLeapYear
. Результат перевірки виводиться в консоль.
// Функція для перевірки, чи є рік високосним
function isLeapYear(year) {
return (year % 4 === 0 && year % 100 !== 0) || year % 400 === 0;
}
// Створюємо дату
let someDate = new Date('2023-06-15');
// Визначаємо рік цієї дати
let year = someDate.getFullYear();
// Перевіряємо, чи є цей рік високосним
if (isLeapYear(year)) {
console.log(year + " - високосний рік");
} else {
console.log(year + " - не високосний рік");
}