자바스크립트 함수 인수

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

  ㅇ 호출/피호츨 인수의 개수가 불일치할 수 있음
     - 즉, 인수의 개수를 체크하지 않음
     - 심지어, 모든 인수가 생략 가능 (단, 뒷쪽 인수부터 생략 가능)

  ㅇ 값이 전달되지 않은 인수는, 
     - `undefined`로 주어짐

  ㅇ 인수의 값 설정이 다양함
     - 인수 값 설정이, 옆의 다른 인수, 함수 결과값 등으로도 지정 가능
     - 함수 정의문에서, 가인수에 디폴트값 설정 가능
        . 例) function getFunction(인수1 = 값1, 인수2 = 값2) { ... }
        . 단, `null`/`false`/`0`/`빈 문자열` 등이 전달될 경우에는, 디폴트값이 적용되지 않음
        . 다만, undefined 값일 경우에는 디폴트값이 그대로 적용됨
     - 함수 호출문에서, 실인수객체 리터럴 형식으로 설정 가능
        . 例) getFunction ( { 인수1:값1, 인수2:값2 } );

  ㅇ 가변길이 인수 가능
     - 이는, 함수 선언시에 인수 개수를 확정할 수 없는 경우에 해당됨    ☞ 아래 2.항 참조

  ㅇ 객체 리터럴 형식으로 인수 값 전달 가능
     - 함수호출문 : getFunction ( { 인수1:값1, 인수2:값2 } )
     - 함수정의문 : function getFunction ( { 인수1 = 값1, 인수2 = 값2 } ) { ... }


2. 자바스크립트 함수에서, 가변길이 인수 

  ㅇ 가변길이 인수함수 정의가 가능
     - 이는, 함수 선언시에 인수 개수를 확정할 수 없는 경우에 해당됨
     - 호출 받는 함수에서, 가인수 앞에 `...` (rest operator) 를 두면, 
        . 전달된 임의 개수의 인수들을 배열로써 취급함
     - 호출 하는 함수에서, 배열로 된 실인수 앞에 `...` (rest operator) 를 두면, 
        . 배열 인수 그대로가 배열로써 전달됨


3. 자바스크립트 함수에서, 인수의 종류

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

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

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

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


[JS 함수] 1. JS 함수 2. JS 함수 종류 3. Function 객체 4. JS 함수 인수 5. 실행 컨텍스트 6. 화살표 함수,중첩 함수 7. this 키워드 8. 클로저 (Closure) 9. 즉시실행함수 (IIFE) 10. 콜백 (CallBack)
  1.   기술공통
  2.   기초과학
  3.   진동/파동
  4.   전기전자공학
  5.   방송/멀티미디어/정보이론
  6.   통신/네트워킹
  7.   정보기술(IT)
        1. 정보기술
    1.   전산기초
    2.   컴퓨터구조
    3.   프로그래밍
          1. 프로그램, 프로그래밍
      1.   프로그래밍 언어론
      2.   프로그래밍 방법론
      3.   객체지향 프로그래밍
      4.   자료표현코드
      5.   자료구조
      6.   알고리즘
      7.   시스템 소프트웨어
      8.   프로그래밍언어 종류
            1. 프로그래밍 언어
        1.   C
        2.   C++
        3.   자바(Java)
        4.   자바스크립트
              1. JavaScript
              2. JS 기초 문법
          1.   JS 변수,타입,논리식
          2.   JS 구문,연산자
          3.   JS 함수
            1.   1. JS 함수
                2. JS 함수 종류
                3. Function 객체
                4. JS 함수 인수
                5. 실행 컨텍스트
                6. 화살표 함수,중첩 함수
                7. this 키워드
                8. 클로저 (Closure)
                9. 즉시실행함수 (IIFE)
                10. 콜백 (CallBack)
          4.   JS 객체
          5.   JS 배열/Map/Set
          6.   JS 활용
          7.   JS 웹문서 제어
        5.   PHP
        6.   파이썬
        7.   (기타 언어)
      9.   프로그래밍 기타일반
    4.   데이터베이스
    5.   소프트웨어 공학
    6.   운영체제
    7.   정보보호/보안
    8.   IT 기타기술
  8.   공학일반(기계,재료등)
  9.   표준/계측/품질
  10.   기술경영

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