Привет, сегодня поговорим про именованные аргументы, обещаю рассказать все что знаю. Для того чтобы лучше понимать что такое
именованные аргументы , настоятельно рекомендую прочитать все из категории Выполнение скриптов на стороне клиента JavaScript, jqvery, JS фреймворки (Frontend).
именованные аргументы не имеют отношения к arguments
.
Это альтернативная техника работы с аргументами, которая позволяет обращаться к ним по имени, а не по номеру. Зачастую это гораздо удобнее.
Представьте себе, что у вас есть функция с несколькими аргументами, причем большинство из них имеют значения по умолчанию.
Например:
1 |
function showWarning(width, height, title, contents, showYesNo) { |
3 |
height = height || 100; |
5 |
title = title || "Предупреждение" ; |
Функция showWarning
позволяет указать ширину и высоту width, height
, заголовок title
, содержание contents
и создает дополнительную кнопку, если showYesNo == true
. Большинство этих параметров имеют значение по умолчанию.
В примере выше значения по умолчанию:
width = 200
,
height = 100
,
title = "Предупреждение"
.
Если необязательный параметр находится в середине списка аргументов, то для передачи «значения по умолчанию» обычно используют null
:
showWarning( null , null , null , "Предупреждение" , 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; |
5 |
var title = options.title || "Предупреждение" ; |
Вызвать такую функцию очень легко. Достаточно передать объект аргументов, указав в нем только нужные:
2 |
contents: "Вы вызвали функцию" , |
Еще один бонус кроме красивой записи — возможность повторного использования объекта аргументов:
10 |
opts.contents = "Другой текст" ; |
Именованные аргументы применяются в большинстве JavaScript-фреймворков.
К сожалению, в одной статье не просто дать все знания про именованные аргументы. Но я - старался.
Если ты проявишь интерес к раскрытию подробностей,я обязательно напишу продолжение! Надеюсь, что теперь ты понял что такое именованные аргументы
и для чего все это нужно, а если не понял, или есть замечания,
то не стесняйся, пиши или спрашивай в комментариях, с удовольствием отвечу. Для того чтобы глубже понять настоятельно рекомендую изучить всю информацию из категории
Выполнение скриптов на стороне клиента JavaScript, jqvery, JS фреймворки (Frontend)
Из статьи мы узнали кратко, но содержательно про именованные аргументы
Комментарии
Оставить комментарий
Выполнение скриптов на стороне клиента JavaScript, jqvery, JS фреймворки (Frontend)
Термины: Выполнение скриптов на стороне клиента JavaScript, jqvery, JS фреймворки (Frontend)