본문 바로가기
Language/JavaScript

함수

by 싯벨트 2025. 3. 13.
728x90

함수

함수는 일련의 과정을 문으로 구현하고 코드 블록으로 감싸서 하나의 실행단위로 정의한 것입니다. 함수는 3가지 요소로 구성되며, 정의만으로 실행되지 않고 명시적으로 호출해야 합니다.

  • 매개변수(parameter): 함수 내부로 입력을 전달받는 변수
  • 인수(argument): 입력
  • 반환값(return value): 출력

함수 정의

함수를 정의하는 방식에는 4가지 방법이 있습니다. 두 매개변수를 더하는 add 함수를 통해 각각의 방법을 살펴보겠습니다.

함수 선언문

함수 선언문에서는 함수 이름을 필수로 적어줘야 하며, 표현식이 아닌 문이기에 변수에 할당은 불가합니다. 호이스팅 시 함수 객체로 초기화되기 때문에 선언 위치와 무관하게 함수를 호출할 수 있습니다.

function add(x, y) {
    return x + y;
}

함수 표현식

함수 표현식은 표현식인 문으로, 값으로 할당 가능합니다. 할당문이 실행되는 시점인 런타임에 평가되어 함수 객체가 됩니다.

const add = function (x, y) {
    return x + y;
};

Function 생성자 함수

String 형식을 나열하여 매개변수와 리턴값을 표현합니다. return을 붙인 매개변수가 없을 경우, undefined를 리턴합니다.

const add = new Function("x", "y", "return x + y");

화살표 함수

화살표 함수는 항상 익명함수로 정의합니다. 생성자 함수로 사용이 불가하고, prototype 프로퍼티가 없으며, arguments 객체도 생성하지 않습니다.

const add = (x, y) => x + y;

참고자료

  • 모던 자바스크립트 Deep Dive

'Language > JavaScript' 카테고리의 다른 글

프로퍼티와 어트리뷰트  (0) 2025.03.13
스코프  (0) 2025.03.13
원시 값과 객체의 비교  (0) 2025.03.13
객체 리터럴  (0) 2025.03.13
타입 변환과 단축 평가  (0) 2025.03.13