[JS] return과 break의 차이

Yeong·2024년 5월 9일
0

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

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

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

🔽 return

반복문을 종료 시키기도 하지만 값을 반환하고 함수 자체를 종료!

함수에서 사용하지 않으면 에러가 발생
⇒ 함수는 return을 사용하지 않아도 항상 값을 반환함 (기본값은 undefined)

const number = () => {
    for (let i = 0; i < 10; i++ ) {
        if(i===5) {
            return i;
        }
        console.log(i)
    }
}


console.log('종료')
number()

// 0 , 1 , 2 , 3 , 4 , 종료

🔽 break

반복문을 더 이상 진행하지 않아도 될 때 불필요한 반복을 회피할 수 있다.

레이블문(식별자가 붙은 문), 반복문(for, for...in, for...of, while, do...while), switch문의 코드 블록 탈출
=> 그 외에 break문을 사용하면 SyntaxError(문법 에러) 발생

if(true) {
    break; //SyntaxError
}

중첩된 for문 외부로 탈출할 때 유용하다.
(그 외는 권장X)

foo: {
    console.log(1);
    break foo;  //foo 레이블 블록문을 탈출.
    console.log(2);
}
outer : for (lse i = 0; i < 3; i++) {
    for (let i = 0; i < 3; i++) {
        if (i + j === 3) break outer;
    }
}
예) 문자열에서 해당 문자가 처음 있는 인덱스 찾기

const string = 'Hello World'
let index;

for(let i = 0; i < string.length; i++) {
    if(string[i] === 'l') {
        index = i;
        break;
    }
}

// 2

0개의 댓글

관련 채용 정보