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

Опис

Властивість Array.prototype виступає як прототип для всіх об'єктів класу Array. Завдяки їй відкривається доступ до різноманітних методів, призначених для ефективної роботи з масивами.

Array.prototype містить численні вбудовані методи, такі як push(), pop(), shift(), unshift(), forEach() та інші, які спрощують роботу з масивами. Вони стають доступними для кожного створеного масиву завдяки механізму прототипного наслідування.

Якщо вам потрібно розширити функціонал всіх масивів, ви можете додавати свої методи безпосередньо до Array.prototype. Наприклад, якщо ви хочете мати метод, який повертає середнє значення елементів масиву, ви можете додати його так:

Array.prototype.average = function() {
    let sum = this.reduce((acc, val) => acc + val, 0);
    return sum / this.length;
};

Після цього, кожен масив отримає доступ до методу average().

Хоча Array.prototype дає величезні можливості для розширення функціоналу масивів, важливо обережно підходити до додавання нових методів. Неконтрольовані зміни можуть призвести до конфліктів з майбутніми стандартами або з іншими бібліотеками.

Нотатка:

prototype є властивістю, доступною для всіх JavaScript-об'єктів.

Порада:

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

Синтаксис

Array.prototype.name = value;

Значення

Return

Переглядачі

Переглядач

1

1

1

4

12

Переглядач

37

18

4

1

Переглядач

0.10.0

1.0

Приклади


Цей приклад демонструє, як розширити вбудований об'єкт Array в JavaScript, додавши нові методи myUcase() та myLcase(), які переводять рядкові елементи масиву в верхній та нижній регістр відповідно. Також показано, як можна виконувати перевірку типу, перед тим як виконувати операції над елементами масиву.

Властивість prototype в JavaScript дозволяє додавати нові властивості до об'єктів.

function Person(first, last, age, eyecolor) {
  this.firstName = first;
  this.lastName = last;
  this.eyeColor = eyecolor;
}

Person.prototype.nationality = "Ukrainian";