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 함수 종류
  1.   기술공통
  2.   기초과학
  3.   진동/파동
  4.   방송/멀티미디어/정보이론
  5.   전기전자공학
  6.   통신/네트워킹
  7.   정보기술(IT)
        1. 정보기술
    1.   전산기초
    2.   컴퓨터구조
    3.   프로그래밍
          1. 프로그램,프로그래밍
      1.   프로그래밍 언어론
      2.   객체지향
      3.   자료구조
      4.   알고리즘
      5.   자료표현(알파벳/코드)
      6.   시스템 소프트웨어
      7.   프로그래밍언어 종류
            1. 프로그래밍 언어
            2. 어셈블리언어
        1.   C
        2.   자바(Java)
        3.   자바스크립트
              1. JavaScript
              2. JS 연산자
              3. 기초 문법
          1.   JS 변수,타입
          2.   JS 이벤트
          3.   JS 함수
            1.   1. JS 함수
                2. JS 함수 종류
          4.   JS 객체
          5.   JS 배열
          6.   JS 활용
          7.   jQuery
        4.   PHP
        5.   (기타 언어)
      8.   프로그래밍 기타일반
    4.   데이터베이스
    5.   소프트웨어 공학
    6.   운영체제
    7.   정보보호/보안
    8.   IT 기타기술
  8.   공업일반(기계,재료등)
  9.   표준/계측/품질
  10.   기술경영

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