- Разработка
- Как принять неограниченное количество параметров в функции JavaScript
Как принять неограниченное количество параметров в функции JavaScript

Допустим, у нас есть функция с именем join()
, задача которой - объединить все строки, которые мы ей передаем.
Например, мы пишем прототип, который принимает 2 строки:
const join = (string1, string2) => {
return string1 + string2
}
Когда мы его вызываем, мы получаем строку, которая представляет собой конкатенацию двух передаваемых нами аргументов:
join('hi', ' flavio') // 'hi flavio'
Один простой способ - добавить дополнительные параметры по умолчанию в пустую строку, например:
const join = (string1, string2, string3 = '') => {
return string1 + string2 + string3
}
Но этот подход плохо масштабируется, потому что нам нужно добавить большое количество параметров, и наш код будет выглядеть довольно плохо.
Вместо этого мы можем использовать этот синтаксис с оператором распространения (...
), за которым следует имя параметра, который мы хотим использовать. Внутри функции параметр представляет собой массив, поэтому мы можем просто вызвать его .join()
метод для объединения содержащихся в нем строк, передав пустую строку в качестве аргумента (в противном случае по умолчанию выполняется объединение строк, добавляя между ними запятую):
const join = (...strings) => {
return strings.join('')
}
В нашем случае мы также можем упростить это, используя синтаксис неявного возврата, доступный в стрелочных функциях:
const join = (...strings) => strings.join('')
Мы можем назвать так же, как и раньше:
join('hi', ' flavio') // 'hi flavio'
join('hi', ' flavio', ' it', ' is', ' a', ' beautiful day!') // ''hi flavio it is a beautiful day!'
Комментарии ()
Написать комментарий