Чем отличаются параметры и аргументы функций

javascript logo

Хочешь проверить свои знания по 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. Также предлагаем почитать:

Заключение

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

Перевод статьи «Parameters vs Arguments in JavaScript – What’s the Difference?».

Запись Чем отличаются параметры и аргументы функций впервые появилась Techrocks.