
함수 실행 종료하고, 주어진 값 함수 호출 지점 반환한다
return 호출하는 지점에서 즉시 실행 멈춘다.
return문이 없는 함수는 undefined를 반환한다.
return [[표현식]];
✔️표현식 : 반환할 값으로 사용할 표현식
function a(){
}
console.log(a() === undefined); // true
function b(){
return;
}
console.log(a() === undefined); // true
function a(){
console.log("hi"); // hi
return;
console.log("hello!"); // undefined
}
console.log(a());
↑ return 명령문 다음은 실행되지 않는다.
return;
return true;
return false;
return x;
return x + y / 3;
↑ return 명령문을 만나면 멈춘다
console.log : 콘솔 정보 인쇄
값을 결과로 정의하지 않고, 단순 결과값을 콘솔창에 표시
return : 함수 결과를 반환
다음 결과를 함수 값으로 정의하고 함수 종료
//ex.1-1)
function calculate(x,y){
console.log((x*y));
}
let area1 = calculate(3,4); // 12
console.log('Area1:' + area1);
// Area1:undefined
//ex.1-2)
function calculate(x,y){
return x*y;
}
let area2 = calculate(3,4);
console.log('Area2:' + area2);
// Area2:12
return : 함수 내에서만 사용 가능하다
반복문 안에서도 사용할 수 있지만, 이것도 결국 함수 안 일 때만 가능하다
결국, 함수 안에 있을 때만 사용 가능하다
break, continue : for, while 안에서만 사용 가능하다
for (let i = 0; i < 5; i++) {
if (i === 2) {
continue;
// i가 2일 때 현재 반복을 건너뜀
}
if (i === 4) {
break; // i가 4일 때 반복문 종료
}
console.log(i);
}
// 0, 1, 3
function add(a, b) {
return a + b; // 함수 내부에서만 사용 가능
}
let result = add(3, 5);
console.log(result); // 8
반복문 안에서 함수 return 사용 가능
function findEven(numbers) {
for (let num of numbers) {
if (num % 2 === 0) {
return num; // 가장 먼저 발견한 짝수를 반환하고 함수 종료
}
}
}
console.log(findEven([1, 3, 7, 8, 9]));
// 8
❗️break, continue를 for 루프 안에서 사용할 수 있을까?
사용 가능하지만, return과 다르게 동작한다.
break: 반복문을 완전히 종료
- break를 사용하면 반복문이 완전히 멈추지만, 함수가 종료되지는 않는다.
- return처럼 값을 반환하지 않고, 단순히 반복을 멈출 뿐이다.
- 즉, break는 값을 반환하지 않으므로 함수 바깥 코드도 실행된다
function findEvenWithBreak(numbers) {
for (let num of numbers) {
if (num % 2 === 0) {
console.log("짝수 발견:", num);
break; // 반복문 종료 (하지만 함수는 종료되지 않음)
}
}
console.log("반복문이 끝났습니다.");
}
findEvenWithBreak([1, 3, 7, 8, 9]);
continue: 현재 반복을 건너뛰고 다음 반복 실행
return처럼 함수를 종료하는 기능이 아니다.continue는 특정 조건일 때만 실행을 건너뛰고 반복문은 계속 진행된다.function findEvenWithContinue(numbers) {
for (let num of numbers) {
if (num % 2 !== 0) {
continue; // 홀수이면 건너뛰고 다음 반복 진행
}
console.log("짝수 발견:", num);
}
console.log("반복문이 끝났습니다.");
}
findEvenWithContinue([1, 3, 7, 8, 10]);
정리 키워드 return함수를 즉시 종료하고 값 반환 break반복문을 즉시 종료 (함수는 종료 안 됨) continue현재 반복을 건너뛰고 다음 반복 진행
✔️return & break, return & continue
❗️같이 사용할 수도 있다. 하지만 의미가 없다.
return이 실행되면 함수 자체가 종료되므로, break는 필요 없다.
하지만, break를 return 바로 앞에 두면 실행되지만 의미 없다.
function findEvenWithBreak(numbers) {
for (let num of numbers) {
if (num % 2 === 0) {
break; // 반복문을 종료 (하지만 의미 없음)
return num; // 절대 실행되지 않음
}
}
return null;
}
console.log(findEvenWithBreak([1, 3, 7, 8, 9])); // null
그냥 return만 쓰는 게 맞다 (break는 불필요)
continue는 현재 반복을 건너뛰고 다음 반복을 실행하지만, return이 실행되면 함수가 종료되므로 continue가 의미 없다
하지만, return이 실행되지 않는 경우에는 continue가 동작할 수 있다
function findEvenWithContinue(numbers) {
for (let num of numbers) {
if (num % 2 !== 0) {
continue; // 홀수면 건너뛰고 다음 반복 실행
}
return num; // 짝수를 찾으면 반환하고 함수 종료
}
return null; // 짝수가 없으면 null 반환
}
console.log(findEvenWithContinue([1, 3, 7, 8, 9])); // 8
console.log(findEvenWithContinue([1, 3, 7, 9])); // null