Вам бонус- начислено 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
обновлено: 2024-11-14
362



Рейтиг 9 of 10. count vote: 2
Вы довольны ?:


Поделиться:

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

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

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

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

Комментарии


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

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

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