본문 바로가기

알고리즘/알고리즘 함수

함수

1.  함수(function)

 

하나의 특별한 목적의 작업을 수행하기 위해 독립적으로 설계된 코드의 집합

 

2. 함수를 사용하는 이유

 

(1) 특정 작업을 여러 번 반복 해야할 경우 효율이 좋음

(2) 프로그램이 필요할 때마다 호출하여 사용

(3) 여러 개의 함수로 나누어 작성하면, 모듈화로 인해 코드의 가독성이 상승

(4) 손쉬운 유지 보수

 

3. 함수의 선언

 

(1) 함수의 선언은 지정된 매개변수(parameter)를 갖는 함수를 정의

 

(2) 함수 선언으로 생성된 함수는 Function 객체로, Function 객체의 모든 속성(property), 메서드 및 행위 특성(behavior)을 갖습니다.

 

(3) 기본적으로 함수는 undefined를 반환, 다른 값을 반환하기 위해서는, 함수는 반환값을 지정하는 return 문이 있어야 합니다.

 

(4) 함수 선언식

    function name([param[, param,[..., param]]]) { [statements] }

 

 

   1) name : 함수 이름

   2) param : 함수로 전달되는 인수(argument)의 이름

   3) statements : 함수의 몸통(body)을 구성하는 문(statement)

 

4. 함수 표현식

    var myFunction = function [name]([param1[, param2[, ..., paramN]]]) { statements };

 

1) name : 함수 이름. 함수가 이름 없는(anonymous) 함수인 경우, 생략될 수 있음. 이 함수 이름은 함수의 몸통 내에서만 사용할 수 있음

2) paramN: 함수로 전달되는 인수(argument) 의 이름

3) statements : 함수의 몸통(body)을 구성하는 문(statement)

 

5.  화살표 함수

 

(1) 구문

    (param1, param2, …, paramN) => { statements }
    (param1, param2, …, paramN) => expression
    // 다음과 동일함:  => { return expression; }

    // 매개변수가 하나뿐인 경우 괄호는 선택사항:
    (singleParam) => { statements }
    singleParam => { statements }

    // 매개변수가 없는 함수는 괄호가 필요:
    () => { statements }

 2) paramN: 함수로 전달되는 인수(argument) 의 이름

 3) statements : 함수의 몸통(body)을 구성하는 문(statement)

 

(3) this나 super에 대한 바인딩이 없고,methods 로 사용될 수 없습니다.

(4) new.target 키워드가 없습니다.

(5) 일반적으로 스코프를 지정할 때 사용하는 call,apply, bind methods를 이용할 수 없습니다.

(6) 생성자(Constructor)로 사용할 수 없습니다.

(7) yield를 화살표 함수 내부에서 사용할 수 없습니다.

 

'알고리즘 > 알고리즘 함수' 카테고리의 다른 글

일급 함수  (0) 2022.11.06