JavaScript

[Javascript] 5. 함수(Function)

katia 2023. 3. 17. 16:41

1. 함수

(1) 함수

  • 함수(function)는 호출(Call) 가능한 최소단위이다.
  • 함수는 반복적으로 여러곳에서 사용되는 반복적인 로직을 분리하기 위해 사용한다.
  • 함수의 명명법은 카멜 케이스이다. 또한 이는 동사(Verb)이거나 '동사 + 목적어(Object)'의 형태를 가지는 것이 바람직하다.

(2) 함수 호출

  • 함수 호출은 일반 함수와 화살표 함수를 굽누하지 않고 아래와 같이 호출할 수 있다.
    [함수 이름]([전달인자], ....)
    • 가령, sum이라는 이름을 가지는 함수에 전달인자 37을 전달하여 호출하는 표련식은 아래와 같다.
      sum(3, 7);

(3) 일반 함수

function [함수이름]([매개변수, ...]){
    [구현부]
}
  • 가령 전달 받은 매개변수 ab 두개의 합을 출력하기 위한 함수 sum은 아래와 같이 만들 수 있다.
    function(a, b){
      console.log(a + b);
    }
  • 위 함수는 return키워드를 이용하여 함수에 맞는 반환 값을 반환하고 있지 않음으로 함수 호출 결과는 undefined가 된다.
  • 함수의 목적을 (주로) 어떠한 반복적인 로직을 수해하는 전잘인자에 따른 올바른 값으르 반환하는 것이 주 목적이기 때문에 console에 출력하는 것이 아닌 return키워드를 활용하여 반환해주도록 개발하는 것이 바람직하다.
    function sum(a, b){
      return a+b;
    }
  • return이 있을 경우 해당 함수의 호출부 전체가 return에 후술된 값으로 대치되는 것으로 파악하면 된다.
  • return은 해당위치에서 함수의 실핼을 즉시 종료시킴으로 유의한다. 경우에 따라 반환값은 없지만 명시적으로 하수의 실행을 종료시키기 위해 값 없이 return;만 작성하는 경우도 있다.
  • 익명 함수(Anonymous Function)
    let [함수 이름] = function ([매개변수, ....]){
      [구현문]
    }
    • 위 예에서 설명한 sum함수를 익명 함수 선언 및 변수 값 초기화를 통해 만들면 아래와 같다.
      let sum = function(a, b){
      return a+b;
      }
    • 위 코드에서 sum은 변수의 이름일 뿐이고, 해당 변수에 어떠한 익명의 함수가 할당되어 있는 것이다.

(4) 화살표 함수

  • 화살표 함수
    let [함수이름] = ([매개변수]) => {
      [구현문]
    }
    • 위 예에서 설명한 sum함수를 익명 함수 선언 및 변수 값 초기화를 통해 만들면 아래와 같다.
      let sum = (a, b) => a + b;
    • 위 함수 sum의 구현부는 단순히 a + b로 명시되어 있지만 사실 return a + b 이다.

(5) 가변 인자

  • 호출부의 전달인자를 쉼표(,)로 구분하여 여러개 전달 받기위해 사용한다.
  • 전달 받은 가변 인자는 배열(Array)이다
    let sum = (...n) => {
      let result = 0;
      for(let i = 0; i < n.length; i++){
          result += a[i];
      }
      return result;
    }

'JavaScript' 카테고리의 다른 글

[Javascript] 7. 오브젝트(Object)  (0) 2023.03.17
[Javascript] 6. 배열(Array)  (0) 2023.03.17
[Javascript] 4. 반복문  (0) 2023.03.17
[Javascript] 3. 조건문  (0) 2023.03.16
[Javascript] 2. 연산자  (0) 2023.03.16