Facebook Pixel

Các câu trúc lệnh điều khiển trong Javascript

21 Jul, 2021

Chúng ta cùng nhau tìm hiểu cấu trúc lệnh điều khiển hay if...else và switch...case trong JavaScript sẽ như thế nào nhé.

Các câu trúc lệnh điều khiển trong Javascript

Mục Lục

Bất  kỳ một ngôn ngữ lập trình nào cũng có các câu lệnh được xây dựng sẵn dùng để thực thi các dòng code theo các yêu cầu được chỉ định, JavaScript cũng không ngoại lệ. Không dài dòng nữa, chúng ta cùng nhau tìm hiểu cấu trúc lệnh điều khiển hay if...elseswitch...case trong JavaScript sẽ như thế nào nè, bắt đầu thôi 😉.

I. Câu lệnh if...else

1. Câu lệnh if

Đối với câu lệnh if...else không nhất thiết phải có else khi có if nhé 😄, mà ta có thể sử dụng if độc lập nè.

Javascript
if(condition){
	//code ở đây
}

Condition hay điều kiện ở đây là một đoạn code  hay một mệnh đề mà kết quả của nó trả về true/false . Ở đây, nếu condition mà trả về true thì sẽ thực thi đoạn code bên trong block code của if nè 😉.

Javascript
let a = 5, b = 10;

if(a < b) {
	console.log('a < b');
}

2. Câu lệnh else

Với else thì hơi khác if một chút là muốn có else thì phải có if trước đó, tức là khi điều kiện của mệnh đề if trước nó không đúng thì câu lệnh else mới được thực thi nè 😁, cấu trúc sẽ như sau.

Javascript
if(condition) {
	// condition = true thì code ở đây sẽ chạy
} else {
	// condition = false thì code ở đây sẽ chạy
}

Ví dụ:

Javascript
let a = 5, b = 10;

if(a > b) {
	console.log('a > b');
} else {
	console.log('a <= b');
}
// --> result: a <= b

3. Kết hợp if...else lồng nhau

Với ví dụ trên thì kết quả cuối cùng vẫn không được rõ cho lắm đúng không nè 😀, ta vẫn chưa biết được khi nào a thực sự bằng b hay khi nào a thực sự nhỏ hơn b. Đừng quá lo lắng, ta có thể lồng câu lệnh if...else  nhiều lần để có thể 'cover' hết được các trường hợp có thể xảy ra nè 😊😉.

Để cover được hết các trường hợp của ví dụ trên, ta làm như sau:

Javascript
let a = 5, b = 10;

if(a > b) {
	console.log('a > b');
} else {
    if(a === b) {
		console.log('a = b');
	} else {
        console.log('a < b');
	}
}
// --> result: a < b

Đơn giản phải không nào 😉.

4.If...else rút gọn

Chúng ta còn có thể rút gọn câu lệnh if...else bằng toán tử 3 ngôi mà mình có giới thiệu trong bài trước, cấu trúc như sau:

Javascript
Điều kiện ? block code 1 : block code 2

Nếu điều kiện đúng thì thực hiện block code 1, ngược lại thì thực hiện block code 2, cùng đi vào ví dụ nhé 😉.

Javascript
let a = 2;
a % 2 == 0 ? console.log("a là số chẵn") : console.log("a là số lẻ")
//--> result:  a là số chẵn

II. Câu lệnh switch...case

switch...case hay còn được gọi là câu lệnh rẽ nhánh, nó thường được dùng để giải quyết các bài toán có các điều kiện cố định, cấu trúc của nó như sau:

Javascript
switch(condition) {
    case value 1:
    	//block code
		break;
    case value 2:
    	//block code
		break;
	case value 3:
    	//block code
		break;
    default:
        //block code
        break;
}

Giải thích tý nè 😁:

  • condition: là biến mà ta muốn kiểm tra để rẽ nhánh.
  • value1, value2,...: là các giá trị tại các nhánh điều kiện mà ta muốn kiểm tra.
  • default: là trường hợp mặc định sẽ trả về nếu không thỏa các case bên trên.
  • break: có tác dụng dừng vòng lặp hay câu lệnh kiểm tra điều kiện trong chương trình.

Cùng đi vào ví dụ cho dễ hiểu nè 😁

Javascript
let a = 5;

switch(a) {
    case 0:
    	console.log("Không");
		break;
    case 1:
    	console.log("Một");
		break;
	case 2:
    	console.log("Hai");
		break;
    case 3:
    	console.log("Ba");
		break;
    case 4:
    	console.log("Bốn");
		break;
    case 5:
    	console.log("Năm");
		break;
    default:
        console.log("Không thỏa mãn");
        break;
}

//--> result: Năm

Đơn giản, dễ hiểu phải không nè 🤣.

III. Tổng kết

Bài viết này mình đã giới thiệu cho các bạn về câu lệnh if...else hoạt động như thế nào, cách tùy biến nó, if...else rút gọn, câu lệnh rẻ nhánh switch...case và cách sử dụng rồi nè. Hy vọng các bạn sẽ hiểu rõ về chúng hơn và có thể áp dụng vào các bài tập hay dự án của các bạn. Bài tiếp theo chúng ta sẽ cùng nhau tìm hiểu Vòng lặp trong JavaScript nhé 😉. Cảm ơn các bạn đã đọc 🤗!

Bài viết liên quan

Lập trình backend expressjs

xây dựng hệ thống microservices
  • Kiến trúc Hexagonal và ứng dụngal font-
  • TypeScript: OOP và nguyên lý SOLIDal font-
  • Event-Driven Architecture, Queue & PubSubal font-
  • Basic scalable System Designal font-

Đăng ký nhận thông báo

Đừng bỏ lỡ những bài viết thú vị từ 200Lab