TypeScript - Boolean: Hướng dẫn cơ bản về True và False trong Lập trình

Xin chào bạn, ngôi sao lập trình tương lai! Bạn đã sẵn sàng nhảy vào thế giới kỳ diệu của các giá trị boolean trong TypeScript chưa? Đừng lo nếu bạn chưa từng viết một dòng mã trước đây - chúng ta sẽ bắt đầu từ rất cơ bản và cùng nhau bắt đầu hành trình này. Cuối cùng của hướng dẫn này, bạn sẽ trở thành một大师 boolean, có khả năng sử dụng true và false như một phù thủy lập trình!

TypeScript - Boolean

Boolean là gì?

Trước khi chúng ta nhảy vào chi tiết, hãy nói về điều gì thực sự là một giá trị boolean. Trong lập trình, một giá trị boolean là một kiểu dữ liệu chỉ có hai giá trị: true hoặc false. Nó giống như một công tắc đèn - nó hoặc bật hoặc tắt, không có sự lựa chọn ở giữa.

Hãy tưởng tượng bạn đang hỏi bạn của mình xem họ có muốn đi xem phim không. Câu trả lời của họ chỉ có thể là "Yes" (true) hoặc "No" (false). Đó chính xác là cách các giá trị boolean hoạt động trong lập trình!

Cú pháp: Cách viết các giá trị boolean trong TypeScript

Trong TypeScript, việc viết một giá trị boolean đơn giản chỉ cần gõ true hoặc false. Dưới đây là một ví dụ:

let isHappy: boolean = true;
let isSad: boolean = false;

Trong đoạn mã này, chúng ta đã tạo ra hai biến: isHappyisSad. Biến isHappy được đặt là true, trong khi isSad được đặt là false.

Ghi chú kiểu: Chỉ định TypeScript biết bạn mong đợi gì

Bạn có thể đã chú ý thấy phần : boolean trong ví dụ trước. Đây được gọi là ghi chú kiểu. Nó giống như dán nhãn vào một hộp để告诉大家 bên trong có gì. Khi chúng ta viết : boolean, chúng ta đang告诉 TypeScript, "Hey, biến này sẽ là một giá trị boolean!"

Dưới đây là một ví dụ khác:

let isRaining: boolean;
isRaining = true;
// isRaining = "Yes"; // Điều này sẽ gây ra lỗi!

Trong trường hợp này, chúng ta đã khai báo isRaining là một giá trị boolean, nhưng chúng ta chưa đặt giá trị cho nó. Sau đó, chúng ta gán true cho nó, điều này hoàn toàn hợp lệ. Tuy nhiên, nếu chúng ta cố gắng gán một chuỗi như "Yes" cho nó, TypeScript sẽ ném ra một lỗi vì "Yes" không phải là một giá trị boolean.

Giá trị truthy và falsy: Khi các giá trị không phải boolean hành xử như boolean

Bây giờ, hãy xem xét điều thú vị! Trong TypeScript (và JavaScript), một số giá trị không phải boolean có thể được đối xử như nếu chúng là các giá trị boolean. Chúng ta gọi chúng là "truthy" và "falsy".

  • Các giá trị falsy bao gồm: false, 0, '' (chuỗi rỗng), null, undefined, và NaN.
  • Mọi thứ khác đều được coi là truthy.

Hãy xem điều này trong hành động:

if (1) {
console.log("1 là truthy!");
}

if ("") {
console.log("Điều này sẽ không được in vì một chuỗi rỗng là falsy.");
}

Trong ví dụ này, câu lệnh if đầu tiên sẽ chạy vì 1 là truthy, nhưng câu lệnh thứ hai sẽ không vì một chuỗi rỗng là falsy.

Chuyển đổi một giá trị không phải boolean thành boolean

Đôi khi, bạn có thể muốn chuyển đổi một giá trị không phải boolean thành một giá trị boolean. Có hai cách để làm điều này:

  1. Sử dụng hàm Boolean():
let num = 5;
let boolValue = Boolean(num);
console.log(boolValue); // Xuất: true
  1. Sử dụng toán tử đôi negate (!!):
let str = "Hello";
let boolValue = !!str;
console.log(boolValue); // Xuất: true

Cả hai phương pháp này sẽ chuyển đổi các giá trị truthy thành true và các giá trị falsy thành false.

Các thao tác boolean: Kết hợp các giá trị boolean

Bây giờ chúng ta đã biết cách tạo các giá trị boolean, hãy học cách làm việc với chúng. Có ba thao tác boolean chính:

  1. AND (&&): Trả về true nếu cả hai toán tử đều là true.
  2. OR (||): Trả về true nếu ít nhất một toán tử là true.
  3. NOT (!): Đảo ngược giá trị boolean.

Hãy xem chúng trong hành động:

let isAdult = true;
let hasLicense = false;

console.log(isAdult && hasLicense); // false
console.log(isAdult || hasLicense); // true
console.log(!isAdult); // false

Trong ví dụ này, isAdult && hasLicensefalse vì trong khi isAdulttrue, hasLicensefalse. isAdult || hasLicensetrue vì ít nhất một trong hai (isAdult) là true. !isAdultfalse vì nó là đảo ngược của true.

Các biểu thức điều kiện với boolean

Boolean thường được sử dụng trong các câu lệnh điều kiện để đưa ra quyết định trong mã của chúng ta. Dưới đây là một ví dụ:

let age: number = 20;
let canVote: boolean = age >= 18;

if (canVote) {
console.log("Bạn có thể bỏ phiếu!");
} else {
console.log("Xin lỗi, bạn quá trẻ để bỏ phiếu.");
}

Trong đoạn mã này, chúng ta đang kiểm tra nếu age lớn hơn hoặc bằng 18. Nếu đúng, canVote sẽ là true, và người đó có thể bỏ phiếu. Nếu không, canVote sẽ là false, và họ không thể bỏ phiếu.

TypeScript Boolean vs boolean

Bạn có thể đôi khi thấy Boolean (with a capital B) trong mã TypeScript. Điều này đề cập đến đối tượng Boolean, điều khác với kiểu boolean nguyên thủy mà chúng ta đã sử dụng.

let primitiveBoolean: boolean = true;
let objectBoolean: Boolean = new Boolean(true);

Nói chung, việc sử dụng kiểu boolean nguyên thủy được khuyến nghị除非 bạn có lý do cụ thể để sử dụng đối tượng Boolean.

Các thuộc tính và phương thức của Boolean

Trong khi kiểu boolean nguyên thủy không có bất kỳ thuộc tính hoặc phương thức nào, đối tượng Boolean lại có. Dưới đây là một số:

Thuộc tính/Phương thức Mô tả
Boolean.prototype.toString() Trả về "true" hoặc "false"
Boolean.prototype.valueOf() Trả về giá trị nguyên thủy của đối tượng Boolean

Dưới đây là cách bạn có thể sử dụng chúng:

let boolObj = new Boolean(true);
console.log(boolObj.toString()); // Xuất: "true"
console.log(boolObj.valueOf()); // Xuất: true

Và thế là xong! Bạn đã hoàn thành một chuyến du lịch nhanh chóng qua các giá trị boolean trong TypeScript. Nhớ rằng, các giá trị boolean có thể vẻ như đơn giản, nhưng chúng là nền tảng của logic trong lập trình. Mỗi khi bạn sử dụng một câu lệnh if hoặc một vòng lặp, bạn đang làm việc với các giá trị boolean đằng sau hậu trường.

Khi bạn tiếp tục hành trình lập trình của mình, bạn sẽ thấy các giá trị boolean xuất hiện ở mọi nơi. Chúng giống như những đặc vụ bí mật trong thế giới lập trình - nhỏ, kín đáo, nhưng vô cùng mạnh mẽ. Vậy lần tới khi ai đó hỏi bạn "true hoặc false?", bạn có thể mỉm cười, biết rằng bạn hiểu sâu sắc những implicaions sâu sắc của câu hỏi đó trong thế giới lập trình.

Tiếp tục thực hành, giữ vững sự tò mò, và nhớ: trong thế giới của các giá trị boolean, không có lựa chọn "có lẽ" - chỉ có true hoặc false. Chúc bạn lập trình vui vẻ!

Credits: Image by storyset