`truthy` và `falsy` trong JavaScript
Bài viết này giải thích truthy
và falsy
trong JavaScript.
YouTube Video
truthy
và falsy
trong JavaScript
Các khái niệm về truthy
và falsy
trong JavaScript đóng vai trò rất quan trọng, đặc biệt là trong việc đánh giá các câu lệnh điều kiện. Truthy
và falsy
xác định xem một giá trị được đánh giá là đúng (true
) hay sai (false
), nhưng những giá trị này không nhất thiết phải là boolean true
hoặc false
.
Các giá trị Falsy
Các giá trị falsy
là những giá trị được đánh giá là false
trong điều kiện của JavaScript. Dưới đây là danh sách các giá trị falsy
trong JavaScript.
1const values = [
2 false,
3 0,
4 -0,
5 0.0,
6 -0.0,
7 0n,
8 -0n,
9 "",
10 null,
11 undefined,
12 NaN
13];
14
15for (let value of values) {
16 if (value) {
17 console.log(`${value} is truthy`);
18 } else {
19 console.log(`${value} is falsy`);
20 }
21}
Trong ví dụ sau, tất cả các giá trị falsy
sẽ được in ra là "falsy". Dưới đây là danh sách các giá trị falsy
trong JavaScript.
false
—false
trong kiểu Boolean0
— Số không (số thập phân0.0
cũng được coi làfalsy
)-0
— Số không âm (về mặt kỹ thuật khác biệt với0
, nhưng vẫn được coi làfalsy
)0n
— Số không trong kiểu BigInt""
— Một chuỗi rỗng có độ dài bằng 0null
— Không có giá trịundefined
— Giá trị không được định nghĩaNaN
— Không phải là số
Những giá trị này được coi là false
trong các phép toán logic và các câu lệnh điều kiện (như câu lệnh if
).
Các giá trị Truthy
Tất cả các giá trị không phải falsy
đều là truthy
. Đây là các giá trị được đánh giá là boolean true
. Trong JavaScript, nhiều giá trị được coi là truthy
.
1const values = [
2 true,
3 1,
4 -1,
5 "Hello",
6 " ",
7 [],
8 {},
9 function() {},
10 Symbol(),
11 Infinity
12];
13
14for (let value of values) {
15 if (value) {
16 console.log(value, ' is truthy');
17 } else {
18 console.log(value, ' is falsy');
19 }
20}
Trong đoạn mã này, các giá trị truthy
được hiển thị là "truthy". Ví dụ, các giá trị sau đây là truthy
.
true
—true
trong kiểu Boolean- Các số (ngoại trừ 0) — Ví dụ:
1
và-1
cũng làtruthy
. - Chuỗi (không rỗng) — ví dụ,
"Hello"
hoặc" "
(ngay cả chuỗi chỉ chứa khoảng trắng cũng làtruthy
) - Các đối tượng — Ngay cả các đối tượng rỗng (
{}
) và mảng rỗng ([]
) cũng làtruthy
. - Các hàm — Chính các hàm cũng là
truthy
. Symbol
— Giá trị thuộc loạiSymbol
cũng làtruthy
.Infinity
— Cả vô cực dương và vô cực âm đều làtruthy
.
Ứng dụng của truthy
và falsy
Các khái niệm truthy
và falsy
thường được sử dụng trong các biểu thức điều kiện và thao tác logic. Ví dụ, khi đặt giá trị mặc định bằng cách sử dụng toán tử ||
(hoặc logic), giá trị truthy
đầu tiên sẽ được trả về làm kết quả.
Cách kiểm tra giá trị falsy
Để kiểm tra giá trị falsy
, việc sử dụng hàm Boolean
là tiện lợi. Hàm Boolean
chuyển đổi cụ thể một giá trị cơ bản sang kiểu boolean.
Ví dụ về hàm Boolean
1const values = [
2 false,
3 0,
4 "",
5 null,
6 undefined,
7 NaN
8];
9
10for (let value of values) {
11 console.log(`${value} is ${Boolean(value) ? 'truthy' : 'falsy'}`);
12}
Kết luận
Truthy
và falsy
trong JavaScript quan trọng để hiểu cách các giá trị không phải boolean được đánh giá trong các biểu thức điều kiện. Các giá trị falsy
bao gồm false
, 0
, chuỗi trống, null
, undefined
, và NaN
, trong khi tất cả các giá trị khác được đánh giá là truthy
. Hiểu các khái niệm này giúp bạn viết mã linh hoạt và hiệu quả hơn.
Bạn có thể làm theo bài viết trên bằng cách sử dụng Visual Studio Code trên kênh YouTube của chúng tôi. Vui lòng ghé thăm kênh YouTube.