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!
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: isHappy
và isSad
. 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:
- Sử dụng hàm
Boolean()
:
let num = 5;
let boolValue = Boolean(num);
console.log(boolValue); // Xuất: true
- 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:
- AND (
&&
): Trả vềtrue
nếu cả hai toán tử đều làtrue
. - OR (
||
): Trả vềtrue
nếu ít nhất một toán tử làtrue
. - 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 && hasLicense
là false
vì trong khi isAdult
là true
, hasLicense
là false
. isAdult || hasLicense
là true
vì ít nhất một trong hai (isAdult
) là true
. !isAdult
là false
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