Хочешь проверить свои знания по JS?
Подпишись на наш канал с тестами по JS в Telegram!
×
Динамические значения, которые передаются в JavaScript-функцию, могут меняться при вызове этой функции в разных местах кода. Мы называем эти данные параметрами и аргументами, причем не все хорошо помнят, чем одни отличаются от других.
В этой статье мы рассмотрим, что собой представляют параметры и аргументы функций и когда какое слово использовать.
Функции в JavaScript
Функция — один из фундаментальных строительных блоков в программировании на JavaScript. Это блок кода, созданный для выполнения определенной задачи.
Функции — переиспользуемый код: его можно применять где угодно в программе. Благодаря им отпадает необходимость в бесконечном повторении одинакового кода в разных местах.
Вот пример функции без всяких параметров и аргументов:
function add(){ return 2 + 3 } add()
Сначала идет объявление функции add. Затем она вызывается (последняя строчка кода). Результат работы этой функции — число 5.
Но вся красота функций раскрывается, когда мы передаем в них какие-нибудь значения.
Как использовать параметры и аргументы в функции
Давайте рассмотрим следующий код:
function add(x, y){ return x + y } add(2, 3)
Если сравнивать с функцией из предыдущего примера, здесь мы ввели x и y, а числа 2 и 3 написали в другом месте. Вот эти x и y — параметры функции add, а 2 и 3 — аргументы.
Параметр — это одна из переменных в функции. Данные, которые вы передаете в параметры функции при ее вызове, называются аргументами.
Когда функция add вызывается с аргументами 2 и 3 (в коде — add(2, 3)), числа 2 и 3 присваиваются параметрам x и y соответственно. То есть в этой функции x будет заменен на 2, а y — на 3.
Если функция вызывается с другими аргументами, x и y получают другие значения. Параметры — это своего рода плейсхолдеры для аргументов функции.
Мощь аргументов
Благодаря аргументам функции становятся более пригодными для повторного использования. В частности, аргументы позволяют более эффективно применять одни функции внутри других.
Рассмотрим пример:
function add(x, y){ return x + y } function multiply(a, b, c){ // a=1, b=2, c=3 const num1=add(a, b) // num1=add(1, 2)=3 const num2=add(b, c) // num2=add(2, 3)=5 return num1 * num2 // 15 } multiply(1, 2, 3) // возвращает 15
У первой функции, add(), есть два параметра, x и y. Эта функция возвращает сумму двух параметров.
Вторая функция, multiply(), имеет три параметра, a, b и c. Внутри этой функции объявляются две переменные, num1 и num2. Переменная num1 будет хранить результат работы функции add(a, b), а num2 — результат add(b, c). В конечном итоге функция multiply вернет значение num1, умноженное на значение num2.
Функция multiply вызывается с тремя аргументами — 1, 2 и 3.
add(a, b) превращается в add(1, 2) и возвращает 3.
add(b, c) превращается в add(2, 3) и возвращает 5.
После этого переменная num1 получает значение 5, а num2 — 5.
num1 * num2 возвращает 15.
Аргументы, переданные в функцию multiply, используются также как аргументы для функции add.
От редакции Techrocks. Также предлагаем почитать:
- Обычные и стрелочные функции в JavaScript
- Javascript и функциональное программирование. Чистые функции
Заключение
Если вы только начинаете знакомиться с функциями, использование параметров и аргументов может быть для вас не слишком интуитивным. Но если сразу хорошенько вникнуть в то, что собой представляют функции и как они работают, проблем с параметрами и аргументами у вас не будет.
Перевод статьи «Parameters vs Arguments in JavaScript – What’s the Difference?».
Запись Чем отличаются параметры и аргументы функций впервые появилась Techrocks.