Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Завершает доку Array.of() #5171

Merged
merged 3 commits into from Mar 24, 2024
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
34 changes: 30 additions & 4 deletions js/array-of/index.md
Expand Up @@ -3,26 +3,28 @@ title: "`Array.of()`"
description: "Статический метод массива, создающий массив из переданных аргументов."
authors:
- hellsquirrel
- vitya-ne
related:
- js/arrays
- js/array-from
- js/array-foreach
tags:
- doka
- placeholder
---

## Кратко

`Array.of()` — статический метод, который создаёт массив из переданных ему аргументов. `Array.of()` и конструктор массива `Array()` работают практически одинаково. Разница возникает, если передавать этим функциям один аргумент, причём этот аргумент должен быть числом. В этом случае для конструктора `Array()` аргумент будет считаться длинной массива, а для `Array.of()` — первым элементом массива.
`Array.of()` — статический метод, который создаёт массив из переданных ему аргументов независимо от их количества. `Array.of()` и конструктор массива `Array()` работают практически одинаково. Разница возникает, если передавать этим функциям один аргумент, причём этот аргумент должен быть числом. В этом случае для конструктора `Array()` аргумент будет считаться длинной массива, а для `Array.of()` — первым элементом массива.

## Пример

```js
Array.of('🐱', 0b001, document.createElement('div')); // ['🐱', 1, div]
Array.of(3); // [3]
Array.of(2); // [2]
Array(2) // [empty × 2] — массив из двух пустых элементов

// Тип аргументов может быть любым
Array.of('🐱', 0b001, document.createElement('div')); // ['🐱', 1, div]

// Для строк всё работает одинаково
Array.of('котик') // ['котик']
Array('котик') // ['котик']
Expand All @@ -31,3 +33,27 @@ Array.of(10.5) // [10.5]
Array(10.5) // RangeError: Invalid array length
```

## Как пишется

Метод `Array.of()` принимает в качестве аргументов значения элементов, создаваемого массива. Если аргументы не указаны, будет создан пустой массив.

Метод `Array.of()` возвращает созданный массив.

## Как понять

Статический метод `Array.of()` это ещё один способ создания массива.

`Array.of()` может использоваться для создания массива из указанных элементов вне зависимости от их количества и типа. Длина создаваемого массива будет равна количеству аргументов.

## Подсказки

💡 При вызове метода `Array.of()` в качестве `this` может быть передана функция-конструктор. В этом случае результатом работы метода будет объект того же типа c дополнительными полями:
TatianaFokina marked this conversation as resolved.
Show resolved Hide resolved

```js
const result = Array.of.call(Boolean, 10, 20, 30);

console.log(result);
// [Boolean: true] { '0': 10, '1': 20, '2': 30, length: 3 }
console.log(result instanceof Boolean);
// true
```