함수는 JavaScript에서 재사용 가능한 코드 블록을 정의하는 방법입니다.
함수를 사용하면 프로그램을 더 구조화하고, 중복을 줄이며, 가독성을 높일 수 있습니다.
이번 글에서는 함수의 정의, 호출, 매개변수와 반환값, 함수 표현식, 그리고 화살표 함수에 대해 알아봅니다.
1. 함수 정의와 호출
함수 정의하기
JavaScript에서 함수는 function 키워드를 사용해 정의합니다.
function sayHello() {
console.log("안녕하세요!");
}
함수 호출하기
함수 이름 뒤에 괄호를 붙여 호출합니다.
sayHello(); // 출력: 안녕하세요!
2. 매개변수와 반환값
매개변수 (Parameters)
함수에 입력값을 전달하기 위해 매개변수를 정의할 수 있습니다.
function greet(name) {
console.log(`안녕하세요, ${name}!`);
}
greet("Alice"); // 출력: 안녕하세요, Alice!
greet("Bob"); // 출력: 안녕하세요, Bob!
기본 매개변수
매개변수에 기본값을 설정할 수 있습니다. 호출 시 값을 전달하지 않으면 기본값이 사용됩니다.
function greet(name = "Guest") {
console.log(`안녕하세요, ${name}!`);
}
greet(); // 출력: 안녕하세요, Guest!
greet("Charlie"); // 출력: 안녕하세요, Charlie!
반환값 (Return Value)
return 키워드를 사용하여 함수가 값을 반환하도록 만들 수 있습니다.
function add(a, b) {
return a + b;
}
let result = add(3, 5);
console.log(result); // 출력: 8
3. 함수 표현식
함수를 변수에 할당할 수도 있습니다. 이를 함수 표현식(Function Expression)이라고 합니다.
const multiply = function (a, b) {
return a * b;
};
console.log(multiply(4, 5)); // 출력: 20
함수 선언과 달리, 함수 표현식은 정의 전에 호출할 수 없습니다.
4. 화살표 함수 (Arrow Function)
ES6에서 도입된 화살표 함수는 간결한 문법으로 함수를 정의할 수 있습니다.
const subtract = (a, b) => {
return a - b;
};
console.log(subtract(10, 4)); // 출력: 6
축약형 화살표 함수
코드가 단일 표현식인 경우 중괄호와 return 키워드를 생략할 수 있습니다.
const square = (x) => x * x;
console.log(square(4)); // 출력: 16
매개변수가 하나라면 괄호도 생략 가능합니다.
const greet = name => `안녕하세요, ${name}!`;
console.log(greet("Alice")); // 출력: 안녕하세요, Alice!
5. 즉시 실행 함수 (IIFE)
즉시 실행 함수는 선언과 동시에 실행되는 함수입니다. 함수 전체를 괄호로 감싸고 뒤에 괄호를 추가합니다.
(function () {
console.log("이 함수는 즉시 실행됩니다!");
})();
6. 함수의 다양한 활용
콜백 함수
함수의 매개변수로 다른 함수를 전달하여 호출하는 방식입니다. 콜백 함수는 비동기 작업이나 이벤트 처리에서 자주 사용됩니다.
function processUserInput(callback) {
const name = "Alice";
callback(name);
}
processUserInput((name) => {
console.log(`Hello, ${name}!`);
});
// 출력: Hello, Alice!
요약
- 함수는 코드의 재사용성을 높이고 구조화를 돕습니다.
- 함수는 매개변수를 받아 입력값에 따라 동작을 다르게 설정할 수 있으며, 반환값을 통해 결과를 반환합니다.
- 함수 표현식과 화살표 함수를 사용하면 더 간결한 코드 작성이 가능합니다.
- 콜백 함수와 즉시 실행 함수는 JavaScript의 유연한 함수 활용을 보여줍니다.
다음 글에서는 객체와 배열을 다뤄보겠습니다. 객체와 배열은 데이터를 효율적으로 관리하는 데 필수적인 도구입니다.
'프로그래밍 공부 > JavaScript' 카테고리의 다른 글
JavaScript 제어문과 반복문 (0) | 2024.11.22 |
---|---|
JavaScript 기본 문법 (1) | 2024.11.20 |
javaScript 문법 - var와 let 차이점 (0) | 2024.09.19 |
[JavaScript] 문자열 객체를 이용해 문자열 바꿔서 출력하기 (0) | 2023.02.02 |
[JavaScript] 평균 판매량을 구하고, 4분기 판매량을 입력 받아 이상/미달 값을 출력하세요. (0) | 2023.02.02 |