Javascript Function   자바스크립트 함수

(2018-10-16)

함수 , Function

1. 함수 이란?

  ㅇ [프로그래밍 일반]   
     - 함수란 일단 정의되면 여러번 호출되며 실행될 수 있는 프로그램 블록

  ㅇ [자바스크립트 언어]  
     - 자바스크립트 함수는,
        . `C 언어함수`,`자바 언어메서드` 등과는 달리, 
        . 그 자신이 객체이며,
        . 다른 객체를 생성할 수 도 있음
     - 그러나, 자바스크립트 함수는 특별한 객체 로써,
        . `실행 execute 가능(호출 invoke 가능)`,`참조 reference 가능`이라는 특징을 
           모두 갖는 특별한 객체 임
     - 자바스크립트 함수객체이므로, 
        . 그 안에 프로퍼티,메소드가 있게되며,
        . String,Number,Date 등의 다른 객체 타입과 유사하게 취급됨


2. 자바스크립트 함수의 특징 (통상의 프로그래밍 언어와의 차별점)함수 할당이 다양함
     - 함수를 `변수`에 할당할 수 있음
        . 함수명과 변수명의 경계가 모호함 (명칭 만으로는 구분이 안됨)
     - `객체프로퍼티`에 함수를 할당할 수 있음
     - `배열 내 원소`에도 할당(정의,저장)할 수 있음

  ㅇ 함수매개변수로 전달할 수도 있고, 함수 그 자체를 반환할 수도 있음
     - 즉, 함수를 다른 함수에 의해 인수로써 전달 또는 결과로써 반환할 수 있음
        . 함수 그 자체가 인수나 리턴 값으로 사용할 수 있음
     - 이를두고 1급 함수 또는 1급 객체 (First Class Object) 라고도 함

  ㅇ 함수 정의/생성/구현 방식이 다양함                  ☞ 자바스크립트 함수 종류 참조
     - 명시적 함수에 의한 구현 가능 이외에도,
     - 익명 함수의 구현 가능
     - 함수 리터럴을 이용하여 구현 가능
     - 함수 생성자를 이용하여 구현 가능

  ㅇ 하나의 데이터(프로퍼티) 만 갖도록 할 수 있음


3. 자바스크립트함수 생성 방법 종류

  ※ ☞ 자바스크립트 함수 생성 방법 종류 참조
     - 명시적 함수, 익명 함수, 함수 리터럴
4. 자바스크립트 함수에서 매개변수 종류

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

  ㅇ 암묵적 매개변수
     - 함수 호출시 명시적으로 언급된 인수 외에도, 암묵적으로 arguments, this 가 전달됨
        . arguments 매개변수 : 언급되어 전달된 모든 인자들을 담고있는 컬렉션
           .. arguments[0] : 첫번째 인수값, arguments[n-1] : n번째 인수값
           .. arguments.length : 인수 갯수
           .. arguments.callee : 현재 실행되고 있는 함수에 대한 참조
        . this 매개변수      : 함수 호출과 관련된 묵시적인 객체를 참조 
           .. 이를 함수/호출 컨텍스트(function/invocation context)라고도 함


5. 자바스크립트 함수 호출 및 참조함수 호출(invoke)    : 함수명 뒤에 소괄호 ()를 쓰면 호출(실행)
  ㅇ 함수 참조(reference) : 함수명 뒤에 괄호()를 쓰지 않으면, 함수를 참조 만 함
     - 이때에는, 변수,객체 프로퍼티,배열 원소 등에 할당시켜, 단순히 참조 만 가능
     * 즉, 자바스크립트는, 함수를 값 처럼 할당,리턴 가능케함으로써, 프로그래밍에 유연성을 줌


6. 자바스크립트 화살표 함수

  ㅇ function 키워드 및 중괄호 {} 를 줄이려고 고안된 단축 문법

  ㅇ 例 1) 
     - (기존표현)   function (parm1, parm2) { ... }
     - (화살표함수) (parm1, parm2) => { ... }

  ㅇ 例 2)
     - (기존표현)   function (parm1, parm2) { return 표현식; }
     - (화살표함수) (parm1, parm2) => { 표현식 }


[JS 함수] 1. JS 함수 2. JS 함수 종류

 
        최근수정     요약목록(시험중)     참고문헌