Параметры функции JavaScript

Изучите основы параметров функций JavaScript

Функция может принимать один или несколько параметров.

const dosomething = () => {
  //do something
}

const dosomethingElse = foo => { //do something }

const dosomethingElseAgain = (foo, bar) => { //do something }

Начиная сES6 / ES2015, функции могут иметь значения по умолчанию для параметров:

const dosomething = (foo = 1, bar = 'hey') => {
  //do something
}

Это позволяет вызывать функцию без заполнения всех параметров:

dosomething(3)
dosomething()

ES2018добавлены конечные запятые для параметров, функция, которая помогает уменьшить количество ошибок из-за отсутствия запятых при перемещении параметров (например, перемещение последнего в середину):

const dosomething = (foo = 1, bar = 'hey',) => {
  //do something
}

dosomething(2, ‘ho!’)

Это также нормальновызовваши функции с запятой после последнего параметра:

dosomething(2, 'ho!',)

Вы можете обернуть все свои аргументы в массив и использоватьоператор распространенияпри вызове функции:

const dosomething = (foo = 1, bar = 'hey') => {
  //do something
}
const args = [2, 'ho!']
dosomething(...args)

При большом количестве параметров запомнить порядок может быть сложно. Используя объекты, деструктуризация позволяет сохранить имена параметров:

const dosomething = ({ foo = 1, bar = 'hey' }) => {
  //do something
  console.log(foo) // 2
  console.log(bar) // 'ho!'
}
const args = { foo: 2, bar: 'ho!' }
dosomething(args)

Функции теперь поддерживают параметры по умолчанию:

const foo = function(index = 0, testing = true) { /* ... */ }
foo()

Значения параметров по умолчанию были введены в ES2015 и широко используются в современных браузерах.

ЭтоdoSomethingфункция, которая принимаетparam1.

const doSomething = (param1) => {

}

Мы можем добавить значение по умолчанию дляparam1если функция вызывается без указания параметра:

const doSomething = (param1 = 'test') => {

}

Конечно, это работает и для большего количества параметров:

const doSomething = (param1 = 'test', param2 = 'test2') => {

}

Что делать, если у вас есть уникальный объект со значениями параметров в нем?

Давным-давно, если нам нужно было передать объект параметров функции, чтобы иметь значения по умолчанию для этих параметров, если один из них не был определен, вам нужно было добавить небольшой фрагмент кода внутри функции:

const colorize = (options) => {
  if (!options) {
    options = {}
  }

const color = (‘color’ in options) ? options.color : ‘yellow’ … }

С деструктуризацией объекта вы можете указать значения по умолчанию, что значительно упрощает код:

const colorize = ({ color = 'yellow' }) => {
  ...
}

Если при вызове нашегоcolorizeфункция, аналогично мы можем назначить пустой объект по умолчанию:

const spin = ({ color = 'yellow' } = {}) => {
  ...
}

Скачать мою бесплатнуюРуководство для начинающих по JavaScript


Больше руководств по js: