"함수"
5.4. 반환문
함수는 return 키워드와 반환값으로 이루어진 반환문을 사용하여 실행 결과를 함수 외부로 반환(return)할 수 있다.
function multiply(x, y) {
return x * y; // 값의 반환
}
// 함수는 반환값으로 평가된다.
var result = multiply(3, 5);
console.log(result); // 15
multiply 함수는 두 개의 인수를 전달받아서 곱한 결과값을 반환한다. 반환값은 return 키워드를 사용해 반환한다. 함수는 return 키워드를 사용해 자바스크립트에서 사용 가능한 모든 값을 반환할 수 있다. 함수 호출은 표현식이다. 이때 함수 호출 표현식은 return 키워드가 반환한 값, 즉 반환값으로 평가된다.
반환문은 두가지 역할을 한다. 첫 번째, 반환문은 함수의 실행을 중단하고 함수 몸체를 빠져나간다. 따라서 반환문 이후에 다른 문이 존재하면 그 문은 실행되지 않고 무시된다.
function multiply(x, y){
return x * y; // 반환문
// 반환문 이후에 다른 문이 존재하면 그 문은 실행되지 않고 무시된다.
console.log('실행되지 않는다.');
}
console.log(multiply(3, 5)); // 15
두번째, 반환문은 return 키워드 뒤에 지전한 값을 반환한다. return 키워드 뒤에 반환값을 명시적으로 지정하지 않으면 undefuned가 반환된다.
function foo () {
// return 키워드 뒤에 반환값을 명시적으로 지정하지 않으면 undefined가 반환된다.
return;
}
console.log(foo()); // undefined
함수는 반환문을 생략할 수 있다. 이때 함수는 함수 몸체의 마지막 문까지 실행한 후 암묵적으로 undefined를 반환한다.
function foo () {
// 반환문을 생략하면 암묵적으로 undefined가 반환된다.
}
console.log(foo()); // undefined
return 키워드와 반환값 사이에 줄바꿈이 있으면 세미콜론 자동 삽입 기능(ASI, automatic semicolon insertion)에 의해 세미콜론이 추가되어 아래와 같이 의도치 않은 결과가 발생할 수 있다.
function multiply(x, y) {
// return 키워드와 반환값 사이에 줄바꿈이 있으면
return // 세미콜론 자동 삽입 기능(ASI)에 의해 ㅅ미콜론이 추가된다.
x * y; // 무시된다.
}
console.log(multiply(3, 5)); // undefined'개발 > javascript' 카테고리의 다른 글
| 함수15 - 즉시 실행 함수 (1) | 2023.10.04 |
|---|---|
| 함수14 - 외부 상태의 변경과 함수형 프로그래밍 (1) | 2023.10.04 |
| 함수12 - 매개변수의 최대 개수 (0) | 2023.10.04 |
| 함수11 - 인수 확인 (0) | 2023.10.04 |
| 함수10 - 매개변수와 인수 (0) | 2023.10.04 |