break (Break)
«دستور break» یعنی خروج فوری. وقتی شرطی را پیدا کردی و دیگر ادامه نمی دهی. مثل وقتی در بازی، ماموریت تمام می شود و برمی گردی.
تعریف دستور break
دستور break اجرای یک حلقه (Loop) یا یک switch را فوراً متوقف می کند و کنترل را به بعد از آن می برد.
break در حلقه ها
هر وقت داخل حلقه به break برسیم، حلقه بلافاصله تمام می شود.
let text = "";
for (let i = 0; i < 10; i++) {
if (i === 3) {
break;
}
text += "The number is " + i + "\n";
}
console.log(text);
نکته: دستور break دیگر تکرار حلقه را اجرا نمی کند.
break در switch
در switch، دستور break جلوی «سُر خوردن» به case بعدی را می گیرد.
let day = "";
switch (new Date().getDay()) {
case 0:
day = "Sunday";
break;
case 1:
day = "Monday";
break;
case 2:
day = "Tuesday";
break;
case 3:
day = "Wednesday";
break;
case 4:
day = "Thursday";
break;
case 5:
day = "Friday";
break;
case 6:
day = "Saturday";
}
console.log(day);
هشدار: اگر break نگذاری، case بعدی هم اجرا می شود.
برچسب ها و break برچسب دار
«برچسب (Label)» یک نام برای یک بلوک کد است. با break label می توانی از حلقه داخلی به بیرونی بپری.
labelname: {
// statements
}
let text = "";
loop1: for (let j = 1; j < 5; j++) {
loop2: for (let i = 1; i < 5; i++) {
if (i === 3) {
break loop1;
}
text += i;
}
}
console.log(text);
let text = "";
loop1: for (let j = 1; j < 5; j++) {
loop2: for (let i = 1; i < 5; i++) {
if (i === 3) {
break loop2;
}
text += i;
}
}
console.log(text);
خروج از یک بلوک برچسب دار
const cars = ["BMW", "Volvo", "Saab", "Ford"];
let text = "";
list: {
text += cars[0] + "\n";
text += cars[1] + "\n";
break list;
text += cars[2] + "\n";
text += cars[3] + "\n";
}
console.log(text);
گام های تمرین
- یک حلقه بنویس. با i برابر 3، break کن.
- یک switch بساز. برای هر case، break بگذار.
- دو حلقه تو در تو بساز. با برچسب بیرونی را بشکن.
نکته: ادامه مبحث را در continue ببین. برای مرور کلی، بخش حلقه ها مناسب است. اگر درباره شرط ها پرسش داری، صفحه منطقی را ببین.
جمع بندی سریع
- break حلقه یا switch را فوری می بندد.
- در switch، break جلوی «fall-through» را می گیرد.
- با برچسب، از حلقه بیرونی هم خارج شو.
- break و continue تنها پرش های مجاز بلوک اند.