JavaScript에서 함수는 일련의 과정을 수행하는 코드 블록입니다. 함수를 사용하면 코드의 재사용성이 향상되고, 프로그램의 구조가 명확해집니다. JavaScript에서 함수를 만드는 주요 방법은 두 가지입니다: 함수 선언(함수 선언문)과 함수 표현식.
함수 선언은 function 키워드를 사용하여 함수의 이름과 매개변수, 그리고 함수의 본문을 정의하는 방식입니다. 함수 선언은 호이스팅이 적용되므로, 코드 내 어느 위치에서든지 호출할 수 있습니다.
function greet(name) {
console.log('Hello, ' + name + '!');
}
greet('Alice'); // 출력: Hello, Alice!
위 예제에서 greet 함수는 매개변수 name을 받아 콘솔에 인사말을 출력합니다. 이 함수는 정의된 이후에 호출됩니다.
함수 표현식은 함수를 변수에 할당하는 방식입니다. 함수 표현식은 이름이 없는 익명 함수를 사용할 수도 있고(익명 함수 표현식), 이름이 있는 함수를 사용할 수도 있습니다(기명 함수 표현식). 함수 표현식은 호이스팅이 적용되지 않아, 선언 전에 호출할 수 없습니다.
const sayGoodbye = function(name) {
console.log('Goodbye, ' + name + '!');
};
sayGoodbye('Bob'); // 출력: Goodbye, Bob!
위 코드에서는 익명 함수를 변수 sayGoodbye에 할당하고 있습니다. 이 함수는 할당된 후에 호출될 수 있습니다.
함수를 호출한다는 것은 함수를 실행한다는 것을 의미합니다. 함수 이름 뒤에 괄호 ()를 붙여 호출할 수 있으며, 괄호 안에는 필요한 매개변수를 전달할 수 있습니다. 함수 선언이든 함수 표현식이든, 정의된 함수를 호출하는 방법은 동일합니다.
예시
함수 선언을 이용한 호출:
function multiply(a, b) {
return a * b;
}
console.log(multiply(2, 3)); // 출력: 6
함수 표현식을 이용한 호출:
const divide = function(a, b) {
return a / b;
};
console.log(divide(6, 3)); // 출력: 2
이렇게 JavaScript에서는 함수 선언과 함수 표현식을 통해 함수를 정의하고, 정의된 함수를 호출하여 원하는 작업을 수행할 수 있습니다.
JavaScript의 함수 선언과 함수 표현식에 대한 호출 방법을 포함하여, 각각의 특징과 차이점을 표로 정리해보겠습니다.
특징 | 함수 선언 | 함수 표현식 |
---|---|---|
문법 | function functionName(parameters) { // body } | const functionName = function(parameters) { // body }; |
호이스팅 | 가능. 함수 선언 전에 호출할 수 있음. | 불가능. 변수 호이스팅은 되지만 함수 할당은 호이스팅되지 않음. |
익명 함수 사용 | 불가능. 함수 선언에는 이름이 필수. | 가능. 익명 함수를 사용할 수 있음. |
예시 코드 | function add(a, b) { return a + b; } | const subtract = function(a, b) { return a - b; }; |
호출 방법 | add(2, 3); | subtract(5, 2); |
함수 선언 방식과 함수 표현식 방식 모두에 대해 호출 방법을 예시 코드와 함께 설명했습니다. 함수 선언은 코드의 어느 곳에서든 호출이 가능하다는 장점이 있지만, 함수 표현식은 변수에 할당된 이후부터만 호출이 가능합니다.
위의 표는 함수 선언과 함수 표현식의 주요 차이점과 각각의 호출 방법을 요약한 것입니다. 함수 선언은 프로그램의 시작부터 끝까지 언제든 호출할 수 있는 반면, 함수 표현식은 정의된 이후부터 호출이 가능하다는 점이 핵심 차이입니다.