Câu lệnh switch trong JavaScript, Typescript: cách để chạy cùng một mã cho hai trường hợp?
Có cách nào để gán hai giá trị case khác nhau cho cùng một khối mã mà không cần copy và dán không? Ví dụ, ở dưới 68 và 40 nên thực thi cùng một mã, trong khi 30 thì không liên quan.
case 68:
//Do something
break;
case 40:
//Do the same thing
break;
case 30:
//Do something different
break;
Có phải sai khi nghĩ rằng cái gì đó như thế này nên hoạt động (mặc dù rõ ràng là nó không) không?
case 68 || 40:
//Do something
break;
case 30:
//Do something else
break;
Câu trả lời #1
Chỉ cần đặt chúng ngay sau nhau mà không để gián đoạn
switch (myVar) {
case 68:
case 40:
// Do stuff
break;
case 30:
// Do stuff
break;
}
Câu trả lời #2
Vâng, bạn chỉ cần đặt các câu lệnh case liên quan cạnh nhau, như thế này:
case 40: // Fallthrough
case 68:
// Do something
break;
case 30:
// Do something different
break;
Chú thích Fallthrough có ở đó vì hai lý do:
- Nó trấn an người đọc rằng bạn đang làm điều này một cách có chủ ý
- Nó tắt tiếng các cảnh báo từ các công cụ giống Lint phát ra cảnh báo về khả năng vô tình rơi xuống.
