JavaScript: Передача одного аргумента
Функции без аргументов встречаются редко. Чаще функции принимают на вход данные, как-то их используют и выдают результат обратно. В этом уроке мы познакомимся с определением функций, принимающих на вход один аргумент. Посмотрите на определение ниже:
const showCurrentDay = (text) => {
console.log(`Today is: ${text}`);
};
showCurrentDay('January 29');
Today is: January 29
Теперь понятно, зачем нужны были круглые скобки после имени функции: в них можно указать аргументы (или, что тоже самое, параметры). Технически, параметры функции всегда являются переменными, а не константами. Но лучше относиться к ним как к константам.
Заметьте: мы не определяем переменную text
, но используем её в теле функции. JavaScript работает так: переменная сама создаётся при вызове, и указанное значение (в нашем примере — 'January 29'
) записывается в эту переменную.
Аргументы можно называть как угодно, их имена имеют смысл исключительно в теле функции. Например, если изменить имя аргумента так:
const showCurrentDate = (lala) => {
console.log(`Today is: ${lala}`);
};
const date = 'January 29';
showCurrentDate(date);
то поведение функции не изменится. Это касается как имен внутри функции (lala
), так и снаружи (date
).
Новички иногда пытаются сделать примерно такое определение функции:
const showCurrentDate = ('Today is: December 5') => {
// какой-нибудь код
};
Запустить такой код не получится — он содержит синтаксическую ошибку. Вместо переменной в аргументе написана строка, то есть значение.
Аргумент должен быть переменной, иначе он не сможет быть аргументом, то есть чем-то, что принимает значение при вызове.
Если же вам нужна какая-то информация в функции, и вы заранее знаете какая именно, то аргумент для этого не нужен, ведь мы уже умеем сохранять значения для последующего использования — достаточно создать константу в самом теле:
const showCurrentDate = () => {
const text = 'Today is: December 5';
// какой-нибудь код
};
Задание
Реализуйте функцию printJaimesLine()
, которая принимает один аргумент — строку, и выводит реплику на экран в формате JAIME: переданная_строка
.
Как назвать переменную, которая будет аргументом — решайте сами.
Наша система содержит код, скрытый от вас. В этом упражнении скрыт вызов функции printJaimesLine()
. Так мы проверяем ваше решение.
Вам не нужно самостоятельно вызывать функцию, только определить её. Но для наглядности — вот как наша система вызывает её:
printJaimesLine('Farewell, my friend...');
JAIME: Farewell, my friend...