break
Baseline
Widely available
This feature is well established and works across many devices and browser versions. Itâs been available across browsers since â¨2015ë 7ìâ©.
break 문ì íì¬ ë°ë³µë¬¸, switch 문, ëë label 문ì ì¢
ë£íê³ , ê·¸ ë¤ì 문ì¼ë¡ íë¡ê·¸ë¨ ì ì´ë¥¼ ëê¹ëë¤.
ìëí´ ë³´ê¸°
let i = 0;
while (i < 6) {
if (i === 3) {
break;
}
i = i + 1;
}
console.log(i);
// Expected output: 3
구문
break [label];
labelOptional-
문ì ë¼ë²¨ì ì°ê²°í ìë³ì. ë°ë³µë¬¸ì´ë
switchìì ì¬ì©íëê² ìëë©´ íìë¡ ì ê³µí´ì¼ í©ëë¤.
ì¤ëª
break 문ì íë¡ê·¸ë¨ì´ label ë¬ë¦° 문ìì ë¹ ì ¸ëì¤ê² íë ì íì¬í labelì í¬í¨í©ëë¤. break 문ì 참조ëë label ë´ì ì¤ì²©ëì´ì¼ í©ëë¤. label ë¬ë¦° 문ì ì´ë¤ block 문ì´ë ë ì ììµëë¤. ê¼, loop 문ì ë¬ íìê° ììµëë¤.
ìì
ë¤ì í¨ìë iê° 3ì¼ ë while loop를 ì¢
ë£íë break ë¬¸ì´ ìê³ , ê·¸ë¬ê³ ë 3 * xê°ì ë°íí©ëë¤.
function testBreak(x) {
var i = 0;
while (i < 6) {
if (i == 3) {
break;
}
i += 1;
}
return i * x;
}
ë¤ì ì½ëë label ë¬ë¦° ë¸ë¡ì´ ìë break 문ì ì¬ì©í©ëë¤. break 문ì ìì ì´ ì°¸ì¡°íë label ë´ì ì¤ì²©ëì´ì¼ í©ëë¤. inner_blockì outer_blockë´ì ì¤ì²©ëì´ì¼ í¨ì 주ìíì¸ì.
outer_block: {
inner_block: {
console.log("1");
break outer_block; // inner_blockê³¼ outer_block ëë¤ ë¹ ì ¸ëì´
console.log(":-("); // ê±´ëë
}
console.log("2"); // ê±´ëë
}
ë¤ì ì½ëë ëí label ë¬ë¦° ë¸ë¡ì´ ìë break 문ì ì¬ì©íì§ë§ ê·¸ break ë¬¸ì´ block_2를 참조íì§ë§ block_1 ë´ì ì기ì 구문 ì¤ë¥(Syntax Error)ê° ë°ìí©ëë¤. break 문ì íì ìì ì´ ì°¸ì¡°íë label ë´ì ì¤ì²©ëì´ì¼ í©ëë¤.
block_1: {
console.log('1');
break block_2; // SyntaxError: labelì ì°¾ì ì ìì
}
block_2: {
console.log('2');
}
ëª ì¸ì
| Specification |
|---|
| ECMAScript® 2026 Language Specification > # sec-break-statement > |