Що таке масив - for web

Концептуально масив є всього лише списком значень, до яких можна отримати доступ за їх порядковому номеру - «ключу». Нумерація починається з нуля і з кожним елементом збільшується на одиницю. Якби нам треба було пояснити цю концепцію за допомогою хеша, то це виглядало б так:

Я відчуваю, що ми щось упустили. Ох, я знаю - це властивість length.

Цей об'єкт тепер удівітелно схожий на масив. І, як я згадував раніше, це саме те, як працює об'єкт arguments. Але я ще не говорив, що саме так і виглядають «під капотом» реальні масиви.

В наведеному вище прикладі показано, що можна отримати доступ до властивостей об'єкта так само, як і до елементів масиву. Крім того, ви можете задавати масиву якісь додаткові властивості абсолютно так само, як і будь-якого іншого об'єкту.

Що щодо спеціальних методів масиву на кшталт indexOf. slice і sort. Виходить, що вони є всього лише методами об'єкта масиву. Якщо бути точним, вони прив'язані до прототипу класу Array.

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

Наприклад, реалізація методу push:

Єдина річ, яку неможливо реалізувати - це зручні літерали для створення нових масивів (квадратні дужки). Але ви можете використовувати замість них конструктор. Насправді, обидва ці способи створення масиву однакові.

Спасибі за читання!