자바스크립트 함수 인수

(2019-03-25)
1. 자바스크립트 함수의 인수(파라미터,매개변수) 특징/유의점

  ㅇ 호출/피호츨 인수의 개수가 불일치할 수 있음
     - 즉, 인수의 개수를 체크하지 않음
     - 심지어, 모든 인수가 생략 가능 (단, 뒷쪽 인수부터 생략 가능)
  ㅇ 값이 전달되지 않은 인수는 `undefined`로 주어짐
  ㅇ 인수의 디폴트값 설정이 다양함
     - 함수 정의문에서, 가인수에 디폴트값 설정 가능
        . 例) function getFunction(인수1 = 값1, 인수2 = 값2) { ... }
        . 이때, 디폴트값으로는, 옆의 다른 인수, 함수 결과값 등으로도 지정 가능
     - 함수 호출문에서, 실인수에 객체 리터럴 형식으로 설정 가능
        . 例) getFunction ( { 인수1:값1, 인수2:값2 } );
     - 한편, `null`/`false`/`0`/`빈 문자열` 등이 전달될 경우에는 디폴트값이 적용되지 않음
        . 단, undefined 값일 경우에는 디폴트값이 그대로 적용됨
  ㅇ 가변길이 인수의 함수 정의가 가능
     - 이는, 함수 선언시에 인수 개수를 확정할 수 없는 경우에 해당됨
     - 가인수 앞에 `...`를 두면, 전달된 임의 개수의 인수들을 배열로써 취급함
     - 배열로 된 실인수 앞에 `...`를 두면, 배열 인수 그대로가 배열로써 전달됨
  ㅇ 객체 리터럴 형식으로 인수 값 전달 가능
     - 함수호출문 : getFunction ( { 인수1:값1, 인수2:값2 } )
     - 함수정의문 : function getFunction ( { 인수1 = 값1, 인수2 = 값2 } ) { ... }
  ㅇ (... 작성중 ...)


2. 자바스크립트 함수에서 인수 종류

  ㅇ 명시적 인수
     - 함수 호출시 function(인수 1,인수 2,...) 처럼 명시적으로 전달되는 것

  ㅇ 암묵적 인수
     - 함수 호출시 명시적으로 언급된 인수 외에도, 
        . 암묵적으로 arguments, this 가 전달됨

     - arguments 객체 인수  : 언급되어 전달된 모든 인자들을 담고있는 컬렉션
        . arguments[0] : 첫번째 인수값, arguments[n-1] : n번째 인수값
        . arguments.length : 인수 갯수
        . arguments.callee : 현재 실행되고 있는 함수에 대한 참조

     - this 참조 인수  : 함수 호출과 관련된 묵시적인 객체를 참조 
        . 이를 함수/호출 컨텍스트(function/invocation context)라고도 함


[JS 함수] 1. JS 함수 2. JS 함수 종류 3. Function 객체 4. JS 함수 인수 5. 실행 컨텍스트 6. 클로저 7. 화살표 함수,중첩 함수 8. this 키워드

 
        최근수정     요약목록     참고문헌