리턴
리턴이란 현재 실행 중인 메소드(Method)를 종료하고 결과값을 되돌려주라는 명령어이다. 결과값을 리턴값(return value)이라고도 한다. return문이 결과값을 반환하는 반면, break문은 어떤 결과값도 반환하지 않는다.
개요
return 문은 함수의 실행을 종료하고 호출한 함수로 제어를 반환한다. 호출 바로 다음 지점의 호출 함수에서 실행을 다시 시작한다. return 문은 호출하는 함수에 값을 반환할 수도 있다.[1]
특징
break문과 return문의 차이
break문과 return문의 기능을 서로 헷갈려 하는 경우가 있는데 둘의 기능은 확연히 다르다.
break 문 특징 1. 가장 가까이에 있는 하나의 방복문을 벗어난다. break문이 실행되면 Loop가 전부 끝나지 않았음에도 해당 반복문을 즉시 탈출한다.
return 문 특징 1. 쓰여진 해당 함수에서의 탈출을 의미한다. 예를 들어, return문 실행 시 '반복문을 포함하는 메서드' 자체를 종료시킨다.
2. 메서드 내에서 return이 실행되면 뒷줄에 코드가 더 있더라도 값을 반환 후 종료시킨다.
3. 메서드의 출력값은 return 명령어로만 가능하다.
4. 메서드의 리턴자료형이 void인 경우에는 return문이 필요없다.
5. return;문만을 써서 메소드를 빠져나가는 방법은 리턴 자료형이 void형인 메서드에만 해당된다. 리턴 자료형이 명시되어 있는 메서드에서는 return;문만을 작성하면 컴파일 오류가 발생한다.[2]
활용
return 문 문법
return 수식;
- return 문은 함수 본문 안에서만 나타날 수 있다.
- return 문이 실행되면 수식이 평가되고 해당 함수의 값으로 반환된다.
- return 문이 실행되면 함수 본문에 다른 구문이 남아 있더라도 해당 함수의 실행이 중단된다.
return 문 예제
function add(x,y){return x+y} console.log(add(10,5)); // 15
함수가 수식이 지정되지 않은 return 문을 실행하거나 함수 본문의 끝에 다다라서 반환하게 되면 함수 호출 수식의 값은 undefined가 된다.[3]
function add(x,y){x+y} console.log(add(10,5)); // undefined
각주
- ↑ <return 문이란?><<i!kohing>>,2019-11-27
- ↑ <break와 return의 차이 및 특징 정리><<천방지축 개발노트>>,2019-02-15
- ↑ <return문><<javascript-tutorial>>