자바스크립트 함수에 대한 개념과, 선언 및 호출 방법을 설명하기 위해 작성되었습니다.
자바스크립트 함수 선언과 호출
함수는 특정 작업을 수행하기 위해 설계된 코드 블록입니다. 쉽게 말해, 함수는 입력을 받아 처리하고 결과를 출력하는 '작은 프로그램'이라고 생각할 수 있습니다.
함수의 기본 구조는 다음과 같습니다:
function 함수이름(매개변수1, 매개변수2, ...) {
// 실행할 코드
return 결과; // 선택적
}
예를 들어, 두 숫자를 더하는 간단한 함수를 만들어 보겠습니다:
function 더하기(a, b) {
return a + b;
}
let 결과 = 더하기(5, 3);
console.log(결과); // 출력: 8
이 예시에서 '더하기'라는 함수는 두 개의 매개변수 a와 b를 받아, 그 둘을 더한 결과를 반환합니다.
함수의 중요성
함수는 프로그래밍에서 매우 중요한 역할을 합니다. 그 이유는 다음과 같습니다.
1) 코드 재사용: 같은 코드를 여러 번 작성하는 대신, 함수로 만들어 필요할 때마다 호출할 수 있습니다.
function 인사말(이름) {
console.log(`안녕하세요, ${이름}님!`);
}
인사말("철수"); // 출력: 안녕하세요, 철수님!
인사말("영희"); // 출력: 안녕하세요, 영희님!
인사말("민수"); // 출력: 안녕하세요, 민수님!
2) 모듈화: 큰 프로그램을 작은 조각으로 나누어 관리할 수 있게 해 줍니다.
function 사용자입력받기() {
// 사용자로부터 입력을 받는 코드
}
function 데이터처리하기(데이터) {
// 입력받은 데이터를 처리하는 코드
}
function 결과출력하기(결과) {
// 처리된 결과를 출력하는 코드
}
function 메인프로그램() {
let 입력 = 사용자입력받기();
let 처리결과 = 데이터처리하기(입력);
결과출력하기(처리결과);
}
메인프로그램();
3) 추상화: 복잡한 작업을 간단한 인터페이스로 표현할 수 있게 해줍니다.
function 데이터베이스에서사용자정보가져오기(사용자ID) {
// 복잡한 데이터베이스 연결 및 쿼리 실행 코드
// ...
return 사용자정보;
}
let 사용자 = 데이터베이스에서사용자정보가져오기("user123");
이 함수를 사용하는 개발자는 내부의 복잡한 로직을 알 필요 없이 간단히 함수를 호출하여 원하는 결과를 얻을 수 있습니다.
4) 가독성 향상: 잘 이름 지어진 함수는 코드의 의도를 명확하게 전달합니다.
function 윤년인지확인하기(년도) {
return (년도 % 4 === 0 && 년도 % 100 !== 0) || (년도 % 400 === 0);
}
if (윤년인지확인하기(2024)) {
console.log("2024년은 윤년입니다.");
}
이렇게 함수를 사용하면, 복잡한 조건문을 직접 보지 않고도 코드의 의도를 쉽게 이해할 수 있습니다.
함수는 자바스크립트 프로그래밍의 기본 구성 요소입니다. 효과적으로 함수를 사용하면 더 깔끔하고, 효율적이며, 유지보수가 쉬운 코드를 작성할 수 있습니다.
기본적인 함수 선언과 호출
함수 선언 방법
자바스크립트에서 함수를 선언하는 가장 기본적인 방법은 'function' 키워드를 사용하는 것입니다. 이를 '함수 선언문'이라고 합니다.
- 기본 구조:
function 함수이름(매개변수1, 매개변수2, ...) {
// 함수 본문
return 반환값; // 선택사항
}
- 예시:
function 인사하기(이름) {
console.log(`안녕하세요, ${이름}님!`);
}
이 함수는 '인사하기'라는 이름을 가지며, '이름'이라는 하나의 매개변수를 받습니다.
함수 호출 방법
함수를 호출(실행)하려면 함수의 이름을 쓰고 괄호를 붙입니다. 매개변수가 있는 경우 괄호 안에 인자를 넣어줍니다.
- 기본 구조:
함수이름(인자1, 인자2, ...);
- 예시:
인사하기("철수"); // 출력: 안녕하세요, 철수님!
함수가 값을 반환하는 경우, 그 값을 변수에 할당하거나 다른 표현식의 일부로 사용할 수 있습니다.
function 제곱하기(숫자) {
return 숫자 * 숫자;
}
let 결과 = 제곱하기(4);
console.log(결과); // 출력: 16
console.log(제곱하기(3) + 제곱하기(4)); // 출력: 25
매개변수와 인자
매개변수(parameter)는 함수 선언 시 괄호 안에 정의되는 변수입니다. 인자(argument)는 함수 호출 시 실제로 전달되는 값입니다.
function 합계구하기(a, b) { // a와 b는 매개변수
return a + b;
}
let 결과 = 합계구하기(5, 3); // 5와 3은 인자
console.log(결과); // 출력: 8
자바스크립트의 함수는 매우 유연해서, 선언된 매개변수의 개수와 다른 개수의 인자를 전달할 수 있습니다.
- 매개변수보다 적은 인자를 전달할 경우:
function 세개의합(a, b, c) {
return a + b + c;
}
console.log(세개의합(1, 2)); // 출력: NaN
// c는 undefined가 되어 숫자 + undefined = NaN이 됩니다.
이를 방지하기 위해 기본값을 설정할 수 있습니다.
function 세개의합(a, b, c = 0) {
return a + b + c;
}
console.log(세개의합(1, 2)); // 출력: 3
- 매개변수보다 많은 인자를 전달할 경우:
function 두개의합(a, b) {
return a + b;
}
console.log(두개의합(1, 2, 3, 4)); // 출력: 3
// 추가 인자는 무시됩니다.
모든 전달된 인자에 접근하고 싶다면 'arguments' 객체나 나머지 매개변수(rest parameter)를 사용할 수 있습니다.
function 모든인자의합(...numbers) {
return numbers.reduce((sum, num) => sum + num, 0);
}
console.log(모든인자의합(1, 2, 3, 4, 5)); // 출력: 15
이 예제에서 '...numbers'는 나머지 매개변수로, 전달된 모든 인자를 배열로 받습니다.
자, 내용이 너무 길어지므로, 이번에는 여기까지만 하고, 다음 글에서 함수 반환과 함수 표현식에 대해 정리해 보도록 하겠습니다.
'프로그래밍 언어 > JavaScript' 카테고리의 다른 글
자바스크립트 배열 기초와 활용. 배열 메서드와 다차원 배열 - 자바스크립트 #7 (0) | 2024.07.16 |
---|---|
자바스크립트 객체 리터럴과 생성자 함수 활용법 가이드 - 자바스크립트 #6 (0) | 2024.07.15 |
JavaScript 자바스크립트 제어문과 연산자 이해하기. 예제 코드 포함 - 자바스크립트 #4 (0) | 2024.07.10 |
자바스크립트 변수와 상수, 데이터 타입 이해하기. let, const, var 사용법과 예제 코드 - 자바스크립트 #3 (0) | 2024.07.08 |
자바스크립트 개발 환경 설정. Node.js 설치부터 VS Code 확장 프로그램까지 - 자바스크립트 #2 (0) | 2024.07.04 |