Знание разницы между аргументами и параметрами может быть важно.
Но прежде чем мы начнем, просто кратко отметить, что наш новый курс, Основы угловой , вышел и совершенно свободен. Вот так. 100% бесплатно. Ничего за платной. Это не наполовину курс или что -то в этом роде. Это вся энчилада. Проверьте это.
И для видео -версии этого блога нажмите Здесь Анкет
Я недавно запустил быстрый маленький Опрос Twitter Чтобы увидеть, знали ли люди, знали ли разницу между параметрами и аргументами. Результаты опроса были довольно интересными.
Только 50% людей были уверены в разнице между аргументами и параметрами, что делает это хорошим предметом для рассмотрения.
Аргумент – это значение, которое вы передаете в функцию. Параметр – это имя, которое функция назначает этому значению. Это разница. Часто мы используем эти два термина взаимозаменяемо, и большую часть времени разница не важна. Но это может иметь значение, поэтому изучение разницы, и научиться использовать соответствующий термин в соответствующее время может помочь с общением со всех видов.
В приведенном выше примере «ItemName» и «количество» являются параметрами, а «Habsanitizer» и 300 – аргументы.
Это на самом деле подсказывает нас, почему мы, объективные аргументы в JavaScript, называются аргументы, а не параметры. Аргументы – это значения, а не имена. Объект аргументов содержит значения, но не заботится о именах.
Если вы не знакомы с объектом аргументов, это глобальный объект, который дает вам информацию об аргументах, используемых в вызове функции для текущего контекста.
Итак, в этом примере:
Обратите внимание, как объект аргументов никогда не был создан и не ссылался, он просто существует. Внутри этой функции эти три вызова выходят из «2», «Дезинфицирующее средство для рук» и «300» соответственно.
В настоящее время , почему есть объект аргументов, когда у нас есть названные параметры в любом случае?
Что ж, JavaScript просто настолько свободный, что ему все равно, если вы передаете ему больше аргументов, чем есть параметры.
Теперь посмотрите на предложение, которое я только что напечатал. Это отличный пример того, почему нам нужно понять разницу между аргументами и параметрами. Если вы используете эти два термина взаимозаменяемо, то предложение не имеет смысла. Но они не одно и то же. И понимание их позволяет нам узнать о таких вещах, как объект аргументов.
Таким образом, продолжая, вы можете передать больше аргументов, чем есть параметры. Давайте посмотрим на случай этого. Допустим, мы хотим функцию, которая может получить список чисел и добавлять их все, но не требует, чтобы они были в массиве, и вместо этого можно было передавать в качестве отдельных аргументов. Делать это с отдельными аргументами было бы невозможно, и даже если мы сделаем все возможное, это грязно.
Но с объектом аргументов это тривиально. Поскольку Arguments Object имеет только уже переданные аргументы, это в основном множество чисел, которые мы просто складываем.
К сожалению, аргументы-это всего лишь массивный объект, а не полный массив, поэтому мы не можем делать такие вещи, как уменьшить ().
Но спасибо Ecmascript за то, что приехали на помощь здесь. Параметр REST – это способ получить лучшее из обоих миров.
Параметр REST – это специальный параметр в подписи функции (хорошо, что мы знаем, какой параметр против аргумента), который обозначен тремя точками перед ним. Это должен быть самый последний параметр в подписи функции. Этот параметр получает все аргументы, которые уже не назвали параметры, и представляет собой массив этих аргументов.
Так что наш новый метод AddeveryThing будет выглядеть так:
Вы можете смешать в названных параметрах (только до параметра REST).
Таким образом, для большинства применений параметр REST предпочтительнее объекта Argimes, и многие разработчики теперь считают, что объект аргументов является кодовым запахом.
И это параметр REST, а также аргументы и параметры. Думаешь, ты понял? Попробуйте этот вызов И посмотрите, сможете ли вы решить это!
Как учиться в пять раз быстрее
Здесь, в Thinkster, мы используем образовательную науку, чтобы научить вас в пять раз быстрее, чем что -то еще. Как? Благодаря надлежащим инструкциям, основанным на принципах образования и практических упражнениях, вы сохраните от 75% до 90% от того, что вы изучаете. Без этих методов вы помните только от 7% до 15% от того, что вы узнаете. Вот почему вы можете посмотреть видео или курс или прочитать блог и почувствовать, что вам нужно посмотреть еще пару, прежде чем вы действительно «получите его».
Вы можете увидеть это в действии на наших курсах. И вы можете получить его бесплатно в наших основаниях углового курса. Проверьте это.
Счастливого кодирования!
Зарегистрироваться для моей бюллетени Здесь Анкет
Посетите нас: Thinkster.io | Facebook: @gothinkster | Twitter: @gothinkster
Оригинал: “https://dev.to/thinkster/arguments-vs-parameters-and-the-rest-parameter-105n”