Бонус: начислена 1 монета за дневную активность. Сейчас у вас 1 монета

Именованные аргументы

Лекция



Привет, сегодня поговорим про именованные аргументы, обещаю рассказать все что знаю. Для того чтобы лучше понимать что такое именованные аргументы , настоятельно рекомендую прочитать все из категории Выполнение скриптов на стороне клиента JavaScript, jqvery, JS фреймворки (Frontend).


именованные аргументы не имеют отношения к arguments.

Это альтернативная техника работы с аргументами, которая позволяет обращаться к ним по имени, а не по номеру. Зачастую это гораздо удобнее.

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

Например:

 

1 function showWarning(width, height, title, contents, showYesNo) {
2   width = width || 200; // почти все значения - по умолчанию
3   height = height || 100;
4    
5   title = title || "Предупреждение";
6  
7   //...
8 }

 

Функция showWarning позволяет указать ширину и высоту width, height, заголовок title, содержание contents и создает дополнительную кнопку, если showYesNo == true. Большинство этих параметров имеют значение по умолчанию.

В примере выше значения по умолчанию:

  • width = 200,
  • height = 100,
  • title = "Предупреждение".

Если необязательный параметр находится в середине списка аргументов, то для передачи «значения по умолчанию» обычно используют null:

// width, height, title - по умолчанию
showWarning(nullnullnull"Предупреждение"true);

 

Неудобство такого вызова заключается в том, что порядок аргументов легко забыть или перепутать. Кроме того, «дырки» в списке аргументов — это некрасиво.

Обычно необязательные параметры переносятся в конец списка, но если таких большинство, то это невозможно.

Для решения этой проблемы в Python, Ruby и многих языках существуют именованные аргументы(keyword arguments, named arguments).

В JavaScript именованные параметры реализуются при помощи объекта. Об этом говорит сайт https://intellect.icu . Вместо списка аргументов передается объект с параметрами, вот так:

 

1 function showWarning(options) {
2   var width = options.width || 200;  // по умолчанию
3   var height = options.height || 100;
4    
5   var title = options.title || "Предупреждение";
6  
7   // ...
8 }

 

Вызвать такую функцию очень легко. Достаточно передать объект аргументов, указав в нем только нужные:

1 showWarning({
2   contents: "Вы вызвали функцию",
3   showYesNo: true
4 });

 

Еще один бонус кроме красивой записи — возможность повторного использования объекта аргументов:

01 var opts = {
02   width: 400,
03   height: 200,
04   contents: "Текст",
05   showYesNo: true
06 };
07  
08 showWarning(opts);
09  
10 opts.contents = "Другой текст";
11  
12 showWarning(opts); // не нужно копировать остальные аргументы в вызов

 

Именованные аргументы применяются в большинстве JavaScript-фреймворков.

К сожалению, в одной статье не просто дать все знания про именованные аргументы. Но я - старался. Если ты проявишь интерес к раскрытию подробностей,я обязательно напишу продолжение! Надеюсь, что теперь ты понял что такое именованные аргументы и для чего все это нужно, а если не понял, или есть замечания, то не стесняйся, пиши или спрашивай в комментариях, с удовольствием отвечу. Для того чтобы глубже понять настоятельно рекомендую изучить всю информацию из категории Выполнение скриптов на стороне клиента JavaScript, jqvery, JS фреймворки (Frontend)

Из статьи мы узнали кратко, но содержательно про именованные аргументы
создано: 2014-10-07
обновлено: 2026-03-10
505



Помог ли вам этот ответ?
Нажмите оценку и напишите коротко почему. Так мы сможем сделать следующие ответы точнее и полезнее.
Насколько вы довольны ответом?
Ваш отзыв напрямую влияет на качество следующих подсказок и ответов.


Поделиться:
Пожаловаться

Найди готовое или заработай

С нашими удобными сервисами без комиссии*

Как это работает? | Узнать цену?

Найти исполнителя
$0 / весь год.
  • У вас есть задание, но нет времени его делать
  • Вы хотите найти профессионала для выполнения задания
  • Возможно применение функции гаранта на сделку
  • Приоритетная поддержка
  • идеально подходит для студентов, у которых нет времени для решения заданий
Готовое решение
$0 / весь год.
  • Вы можете продать (как исполнитель) или купить (как заказчик) готовое решение
  • Вам предоставят готовое решение
  • Будет предоставлено в минимальные сроки т.к. задание уже готовое
  • Вы получите базовую гарантию 8 дней
  • Вы можете заработать на материалах
  • подходит как для студентов так и для преподавателей
Я исполнитель
$0 / весь год.
  • Вы профессионал своего дела
  • У вас есть опыт и желание зарабатывать
  • Вы хотите помочь в решении задач или написании работ
  • Возможно применение функции гаранта на сделку
  • подходит для опытных студентов так и для преподавателей

Комментарии

Оставить комментарий

Если у вас есть какое-либо предложение, идея, благодарность или комментарий, не стесняйтесь писать. Мы очень ценим отзывы и рады услышать ваше мнение.
To reply

Лекции и учебник по "Выполнение скриптов на стороне клиента JavaScript, jqvery, JS фреймворки (Frontend)"

Термины: Выполнение скриптов на стороне клиента JavaScript, jqvery, JS фреймворки (Frontend)