Tính không bắt buộc của break trong cấu trúc switch-case trong JavaScript
Lệnh break trong cấu trúc switch-case
không phải là bắt buộc. Nếu không có break
sau khi thực thi case đã định,
tất cả các case bên dưới nó cũng sẽ được thực thi.
Hãy xem xét ví dụ:
javascriptlet num = 1; // giả sử ở đây là số 1
switch (num) {
case 1:
console.log(1); // cái này sẽ chạy
case 2:
console.log(2); // cái này cũng sẽ chạy
case 3:
console.log(3); // và cái này cũng sẽ chạy
}
Hãy thay đổi giá trị của biến:
javascriptlet num = 2; // giả sử ở đây là số 2
switch (num) {
case 1:
console.log(1);
case 2:
console.log(2); // cái này sẽ chạy
case 3:
console.log(3); // cái này cũng sẽ chạy
}
Hãy thay đổi giá trị của biến:
javascriptlet num = 3; // giả sử ở đây là số 3
switch (num) {
case 1:
console.log(1);
case 2:
console.log(2);
case 3:
console.log(3); // cái này sẽ chạy
}
Đôi khi đặc điểm này được sử dụng khi giải quyết các bài toán. Hãy xem ví dụ:
javascriptlet num = 1;
let res;
switch (num) {
case 1:
case 2:
res = 'a';
break;
case 3:
res = 'b';
break;
}
console.log(res);
Tuy nhiên, rõ ràng hơn là giải
bài toán như vậy bằng if:
javascriptlet num = 1;
let res;
if (num == 1 || num == 2) {
res = 'a';
}
if (num == 3) {
res = 'b';
}
console.log(res);