Наповнення JS розділу

Добридень, Пані та Панове, завдяки вам вдалося зібрати більше 19тис грн з необхідних 15тис на впровадження JS розділу.

JS розділ вже впроваджено - переходимо до його наповнення і почнемо бігти довгий марафон, адже JS має більше 1100 різноманітних методів, властивостей, подій і т.д., які необхідно описати.

Будемо працювати, і вдень, і вночі, щоб орієнтовно взимку закінчити наповнювати JS розділ!

Ви також можете допомогти нам в цьому. Долучайтеся до нашої спільноти в дискорді - ставайте її частиною і допомагайте нашому розвитку.

Також, підтримуйте нас матеріально.

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

Опис

Атрибут Array.constructor є специфічною властивістю у JavaScript, яка надає доступ до конструктора об'єкта. Щоб зрозуміти його сутність, уявімо, що кожен об'єкт, який ви створюєте в JavaScript, насправді "будується" за допомогою специфічного конструктора. Для масивів цим конструктором є Array. Тепер, коли ми говоримо про Array.constructor, мається на увазі властивість, яка дозволяє нам "заглянути" назад і побачити, який саме конструктор було використано для створення певного об'єкта. У нашому випадку це конструктор для масивів.

Приклад:

let arr = [1, 2, 3];
console.log(arr.constructor === Array); // true

У цьому прикладі ми створюємо масив arr і потім перевіряємо, чи було використано конструктор Array для його створення. Як бачите, відповідь true.

Проте, навіть знаючи про існування Array.constructor, в більшості випадків програмісти просто використовують Array безпосередньо, коли їм потрібно створити новий масив. Наприклад:

let newArray = new Array(5);

Цей код створює новий масив із п'яти пустих елементів.

Таким чином, хоча Array.constructor може бути корисним у специфічних випадках, для більшості завдань рекомендується просто використовувати `Array безпосередньо. Тим паче, це звичніший і більш інтуїтивний спосіб роботи з масивами у JavaScript для більшості розробників.

Нотатка:

Не забувайте, що Array.constructor є атрибутом прототипу Array. Тому він є загальним для всіх інстанцій масиву. Це підтверджується тим, що виклик Array.constructor для будь-якого екземпляра масиву завжди повертає однакове значення.

Синтаксис

new Array()
new Array(element0)
new Array(element0, element1)
new Array(element0, element1, /* … ,*/ elementN)
new Array(arrayLength)

Array()
Array(element0)
Array(element0, element1)
Array(element0, element1, /* … ,*/ elementN)
Array(arrayLength)

Значення

elementN

Масив JavaScript формується із заданими елементами. Проте існує виняток: коли до конструктора Array подається лише один аргумент, що є числом.

arrayLength

Коли єдиний аргумент, який подається конструктору Array, є цілим числом і знаходиться в діапазоні від 0 до 2^32 - 1 (включаючи крайні значення), то результатом стає новий масив JavaScript із властивістю length, що дорівнює цьому числу.

Return

Exception

Помилка в межах значень, так звана RangeError, виникає в ситуаціях, коли у нас є лише один аргумент (arrayLength), який має числове значення. Проте це число не є цілим числом або виходить за рамки допустимого діапазону - від 0 до 2^32 - 1 включно.

Переглядачі

Переглядач

1

1

1

4

12

Переглядач

37

18

4

1

Переглядач

0.10.0

1.0

Приклади


Цей приклад демонструє, як використовувати властивість constructor для визначення конструктора масива. Ми створюємо кілька масивів і виводимо їх конструктори.

Порівняння конструктора масиву.

Array.prototype.constructor === Array;  // true
new Array().constructor === Array;      // true
Array.prototype.constructor === Object; // false

Масиви можна створювати за допомогою літеральної нотації.

const fruits = ["Яблуко", "Банан"];

console.log(fruits.length); // 2
console.log(fruits[0]); // "Яблуко"

Масиви можна створювати за допомогою конструктора з одним числовим параметром. Масив створюється зі своєю властивістю length, встановленою на це число, і елементи масиву - це порожні слоти.

const arrayEmpty = new Array(2);

console.log(arrayEmpty.length); // 2
console.log(arrayEmpty[0]); // undefined; насправді, це порожній слот
console.log(0 in arrayEmpty); // false
console.log(1 in arrayEmpty); // false

const arrayOfOne = new Array("2"); // Не число 2, а рядок "2"

console.log(arrayOfOne.length); // 1
console.log(arrayOfOne[0]); // "2"

Масив можна створити за допомогою конструктора з декількома параметрами.

const fruits = new Array("Apple", "Banana");

console.log(fruits.length); // 2
console.log(fruits[0]); // "Apple"