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 |