Аргументы функции в JavaScript
- Что такое аргумент функции
- Параметр и аргумент
- Один аргумент
- Несколько аргументов
- Аргументом может быть выражение
- Переменная как аргумент
- Если аргументов меньше
- Если аргументов больше
- Итого
Аргументы функции - это значения, которые мы передаем функции при вызове.
function showMessage(text) {
console.log(text);
}
showMessage('Учусь писать функции');
В этом примере строка ‘Учусь писать функции’ - аргумент. Она передается в функцию showMessage().
Что такое аргумент функции
Функция может принимать данные снаружи. Эти данные передаются в круглых скобках во время вызова функции.
function greetUser(name) {
console.log('Привет, ' + name + '!');
}
greetUser('Анна');
‘Анна’ - это аргумент. Благодаря ему функция понимает, с каким именем нужно работать.
Если вызвать эту же функцию с другим аргументом, результат тоже будет другим.
greetUser('Игорь');
greetUser('Мария');
Результат:
Привет, Игорь!
Привет, Мария!
Параметр и аргумент
Параметр и аргумент часто путают, потому что они работают вместе.
function double(number) {
console.log(number * 2);
}
double(5);
number - параметр. Он записан при объявлении функции.
5 - аргумент. Он передан при вызове функции.
Можно запомнить так: параметр - это имя внутри функции, аргумент - это конкретное значение при вызове.
Один аргумент
Если функция ожидает одно значение, при вызове обычно передают один аргумент.
function showPrice(price) {
console.log('Цена: ' + price + ' рублей');
}
showPrice(1200);
Результат:
Цена: 1200 рублей
Аргументом может быть строка, число, логическое значение и другие значения JavaScript.
Несколько аргументов
Если функции нужно несколько значений, аргументы передаются через запятую.
function showOrder(product, price) {
console.log(product + ': ' + price + ' рублей');
}
showOrder('Книга', 900);
Результат:
Книга: 900 рублей
Первый аргумент попадает в первый параметр, второй аргумент - во второй параметр.
Аргументом может быть выражение
В аргумент можно передать не только готовое значение, но и выражение. JavaScript сначала вычислит выражение, а потом передаст результат в функцию.
function showResult(value) {
console.log(value);
}
showResult(10 + 5);
Результат:
15
То же самое работает со строками.
function showMessage(text) {
console.log(text);
}
showMessage('Привет, ' + 'Анна');
Результат:
Привет, Анна
Переменная как аргумент
Часто аргументом становится значение, которое уже лежит в переменной.
let userName = 'Олег';
function greetUser(name) {
console.log('Привет, ' + name + '!');
}
greetUser(userName);
Результат:
Привет, Олег!
В функцию передается не имя переменной userName, а значение, которое в ней хранится.
Если аргументов меньше
Если передать меньше аргументов, чем функция ожидает, оставшиеся параметры получат значение undefined.
function showUser(name, age) {
console.log(name);
console.log(age);
}
showUser('Анна');
Результат:
Анна
undefined
JavaScript не остановит программу из-за пропущенного аргумента. Но функция может отработать не так, как вы рассчитывали.
Если аргументов больше
Если передать больше аргументов, чем указано параметров, лишние значения просто не попадут в обычные параметры.
function showUser(name) {
console.log(name);
}
showUser('Анна', 25, 'Москва');
Результат:
Анна
В параметр name попал только первый аргумент. Остальные значения в этом примере не используются.
Получать произвольное количество аргументов тоже можно, но для этого используют отдельные инструменты: arguments или rest parameters. Их лучше разбирать отдельно.
Итого
1. Аргументы - это значения, которые передаются функции при вызове.
2. Параметр записывается при объявлении функции, аргумент передается при вызове.
3. Если аргументов несколько, они передаются через запятую.
4. Порядок аргументов важен: первое значение попадает в первый параметр, второе - во второй.
5. Если аргумент не передали, соответствующий параметр получит undefined.