@pacan4ik

Какая разница между array и ...array?

Заметил в методе Math, что вместо конструкции с apply можно передать через аргумент ...array
Если array это [8, 3, -5, 42, -1, 0, 0, -9, 4, 7, 4, -4]
То...array что?
Мы им можем только пользоваться для преобразования массива в набор аргументов только?
8, 3, -5, 42, -1, 0, 0, -9, 4, 7, 4, -4
  • Вопрос задан
  • 337 просмотров
Решения вопроса 1
Grapeoff
@Grapeoff
В чём концепция...?
... - spread/rest оператор.

Оператор spreadраскрывает массив в список аргументов, но также например можно использовать для расширения массивов.

const arr = [1, 2, 3]
func.apply(...arr) // [1, 2, 3] -> 1, 2, 3

const arr = [1, 2, 3]
const arr2 = [...arr, 4, 5]

По сути он превращает массив в последовательность через запятую.

rest наоборот собирает аргументы в массив.

function func(...args) {
     for (let arg of args) console.log(arg)
}

Кстати, это работает и для объектов:

const obj = {a: 10, b: 20}
const obj2 = {...obj} // {a: 10, b: 20}
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы