본문 바로가기
코딩이야기/JS 기초 문법정리

#4.자바스크립트(JavaScript) - 기본 함수(function, return)

by TaeHyeon0412 2022. 6. 24.

function = 필요할 때마다 호출하여 해당 작업을 반복해서 수행 가능한 함수입니다.

기본사용법

1
2
3
4
5
6
7
8
9
10
11
//function 함수이름(매개변수){
//                  함수가 호출될 때 실행되는 실행문;
//                        }
 
 
function addNum(x,y){
                      console.log(x+y); 
                    }

//x,y는 사용자로 부터 받는 데이터
 
addNum(3,2// 5
cs

매개변수(parameter)란 함수의 정의에서 전달받은 인수를 함수 내부로 전달하기 위해 사용하는 변수를 의미합니다.
인수(argument)란 함수가 호출될 때 함수로 값을 전달해주는 값을 말합니다.

 

위의 예제에서 addNum() 함수를 호출할 때 인수가 세 개보다 적게 전달되면, 계산할 수 없다는 의미인 NaN을 반환합니다.
그 이유는 전달되지 않은 나머지 값이 자동으로 undefined 값으로 설정되어, 산술 연산을 수행할 수 없기 때문입니다.

하지만 다음 예제처럼 하면 NaN을 반환하지 않고 전달된 인수만을 가지고 정상적으로 계산하는 함수를 작성할 수 있습니다.

 

 

return = return 명령문은 함수 실행을 종료하고, 주어진 값을 함수 호출 지점으로 반환합니다.

1
2
3
4
5
6
7
8
const age = 96;

function calculateKrAge(ageOfForeigner){
    return ageOfForeigner + 2;
}
 
const KrAge = calculateKrAge(age);
 
console.log(KrAge); //결과값 : 98
cs

 

1
2
3
4
5
6
7
8
9
10
11
12
13
function getRectArea(width, height) {
  if (width > 0 && height > 0) {
    return width * height;
  }
  return 0;
}
 
console.log(getRectArea(34));
// 결과값 : 12
 
console.log(getRectArea(-34));
// 결과값: 0
 
cs

함수 본문에서 return 명령문에 도달하면 함수의 실행은 그 지점에서 중단되고
값을 제공한 경우 함수를 호출한 곳에 그 값을 반환합니다.

함수는 return을 호출하는 지점에서 즉시 실행을 멈춥니다.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
function counter(){
    for (let count = 1; ; count++){ // 무한 반복
        console.log(count + "a"); // 5까지
        if(count ===5){
            return;
        }
        console.log(count + "b"); // 4까지
    }
    console.log(count + "c"); // 절대 나타나지 않음
}
 
counter();
 
// 출력:
// 1a
// 1b
// 2a
// 2b
// 3a
// 3b
// 4a
// 4b
// 5a
cs

 

return만 있는경우는 예시와 같이
if문의 조건이 충족하는 경우 해당 함수의 실행을 중단하고 함수 자체에서 빠져나가라는 의미입니다.

 

return과  반복문에서 쓰이는 break의 차이점은 뭘까요?

return은 함수 자체를 중단시키는데 비해 break 명령문이 실행되면 블록 문장에서 빠져나와 다음 작업을 시작합니다.

즉 return과 break의 차이는 어디까지 빠져나가느냐가 됩니다. 

  • return : 함수 탈출. 해당 함수(메소드) 자체에서 빠져나감.
  • break : 루프 탈출. 함수 내의 반복문 에서 빠져나감.