Dev-dotoli TIL

JS 11-4 arguments



function

demo15.html



function의 입력



argument 인자


인자(argument)는 함수로 유입되는 입력 값을 의미함
어떤 값을 인자로 전달하느냐에 따라서 함수가 반환하는 값이나
메소드(method)의 동작방법을 다르게 할 수 있음

  • method(메소드): Java를 포함한 객체지향 프로그래밍 언어에서
    클래스 내부에 정의된 함수(객체의 함수)를 method라고 함
    기본적으로는 함수와 유사한 의미로 사용됨
    C++에서는 함수 / Java 관련은 메소드 라는 느낌
function get_argument(arg) {
  return arg;
}
// (arg)는 입력 부분이 되고
// arg;는 출력 부분이 됨

alert(get_argument(1)); //1
alert(get_argument(2)); //2

//get_argument(1)은 위에서 정의된 함수를 실행함
//괄호안의 1은 get_argument로 1이라는 값을 전달하겠다는 의미
//이때 위에서 정의된 (arg) 구문에 의해
//변수 arg의 값으로 숫자 1이 함수 안으로 전달됨
//이 변수 arg는 함수 get_argument 안에서만 유효하게 됨


전달 방식은 아래와 같음
img2


이 맥락에서
arg는 매개변수(parameter)라고 부름
arg로 전달한 값은 인자(argument)라고 부름

두가지를 섞어 부르는 경우가 많지만 엄격하게 보자면
값 자체는 argument(인자) / 그 값을 받는 변수는 parameter(매개변수)

:개념적으로 argument는 입력 / return은 출력 이 됨


+추가
return값에 수식이 들어가면?

function get_argument(arg) {
  return arg * 1000; //곱하기 1000을 넣어봄
}

alert(get_argument(1)); // 1000

//arg값 지정은 전 예제와 같고 return하면서 수식대로 1000을 곱함



arguments 복수의 인자


그럼 여러개의 입력 값을 받고 싶다면?

function get_argument(arg1, arg2) {
  return arg1 + arg2;
}

alert(get_argument(10, 20)); //30
alert(get_argument(20, 30)); //50

//parameter와 argument가 두개로 늘어남

//함수를 호출 할 때 전달한 argument 10, 20은
//함수의 선언부의 arg1, arg2에 차례대로 할당됨
//이렇게 전달된 값이 내부 함수로 전달되어 더해진 후 return


위 함수에서 관계는 아래와 같음
img1


현재까지 배운 내용으로는
예제와 같이 argument는 여럿을 받았지만
retrun값은 하나만 나오는 한계가 있음



  • get_arguments(arg1, arg2)
    alert(get_arguments(10, 20));

    get_argument(arg1, arg2)
    alert(get_argument(10, 20));

    :둘다 작동함..
    함수명의 S유무는 무관계? or 둘다 지정되어있는 함수?

    :몰?루 못찾겠
    전에 찾아본 함수명의 정의와 기능에 대해 다시 알아보자