======JavaScript Function Parameters====== * description : JavaScript Function Parameters * author : 오션 * email : shlim@repia.com * lastupdate : 2021-04-14 \\ ====Source of the article==== * [[https://www.w3schools.com/js/js_function_parameters.asp|JavaScript Function Parameters]] %%JavaScript%% ''function''은 __매개변수 값__parameter values (arguments:인수)에 대해 어떤 검사도 하지 않습니다.\\ =====function Parameters and Arguments===== 함수(functions)는 매개변수(parameters)를 가질 수 있습니다:\\ \\ function functionNmae(parameter1, parameter2, parameter3) { // code to be executed } \\ 함수 **매개변수(parameters)**는 함수 정의에 나열된 **이름(manes)**입니다.\\ \\ 함수 **인수(arguments)**는 함수에 전달되고, 함수가 받는 실제 **값(values)**입니다.\\ =====Parameter Rules===== %%JavaScript%% 함수 정의는 매개변수에 대한 데이터 유형을 지정하지 않습니다.\\ \\ %%JavaScript%% 함수는 전달된 인수에 대해 유형 검사를 수행하지 않습니다.\\ \\ %%JavaScript%% 함수는 수신된 인수의 수를 확인하지 않습니다.\\ =====Default Parameters===== **__누락된 인수__missing argument**(선언된 것보다 작음)를 사용하여 함수를 호출하면, 누락된 값이 ''undefined''로 설정됩니다.\\ \\ 때로는 이것이 허용되지만, 때로는 매개변수에 기본 값을 지정하는 것이 더 좋습니다.\\ \\

Setting a default value to a function parameter.

\\ ECMAScript 2015는 함수 선언에서 기본 매개변수 값을 허용합니다:\\

Setting a default value to a function parameter (y=2).

=====The Arguments Object===== %%JavaScript%% 함수에는 arguments 오브젝트라는 내장 오브젝트가 있습니다.\\ \\ 인수 오브젝트에는 함수가 호출(적용) 될 때 사용된 인수의 배열이 포함됩니다.\\ \\ 이렇게 하면 예를 들어 함수를 사용하여 숫자 목록에서 가장 높은 값을 찾을 수 있습니다.\\ \\

Finding the largest number.

\\ 또는 모든 입력 값(input values)을 합산하는 함수를 만듭니다.\\

Sum of all arguments:

\\ 함수가 너무 많은 인수 (선언된 것보다 많음)로 호출되면, 이러한 인수는 **the arguments object**를 사용하여 도달할 수 있습니다.\\ =====Arguments are Passed by Value===== 함수 호출에서, 매개변수는 함수의 인수입니다.\\ \\ %%JavaScript%% 인수는 **값(value)**으로 전달됩니다: 함수는 인수의 위치가 아닌 값만 알 수 있습니다.\\ \\ 함수가 인수의 값을 변경하더라도, 매개변수의 원래 값은 변경하지 않습니다.\\ \\ **인수에 대한 변경 사항은 함수 외부에서 표시 (반영)되지 않습니다.** =====Objects are Passed by Reference===== %%JavaScript%%에서, 오브젝트 참조는 값입니다.\\ \\ 이 때문에, 오브젝트는 참조로 전달되는 것처럼 동작합니다.\\ \\ 함수가 오브젝트 속성을 변경하면, FIXME원래 값이 변경됩니다.\\ \\ **오브젝트 속성에 대한 변경 사항은 함수 외부에서 볼 수 있습니다 (반영).**\\ {{tag>오션, Javascript Function Parameters}}