`truthy` và `falsy` trong JavaScript

`truthy` và `falsy` trong JavaScript

Bài viết này giải thích truthyfalsy trong JavaScript.

YouTube Video

truthyfalsy trong JavaScript

Các khái niệm về truthyfalsy 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. Truthyfalsy 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.

  • falsefalse trong kiểu Boolean
  • 0 — Số không (số thập phân 0.0 cũng được coi là falsy)
  • -0 — Số không âm (về mặt kỹ thuật khác biệt với 0, 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 0
  • null — Không có giá trị
  • undefined — Giá trị không được định nghĩa
  • NaN — 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.

  • truetrue trong kiểu Boolean
  • Các số (ngoại trừ 0) — Ví dụ: 1-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ại Symbol cũng là truthy.
  • Infinity — Cả vô cực dương và vô cực âm đều là truthy.

Ứng dụng của truthyfalsy

Các khái niệm truthyfalsy 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

Truthyfalsy 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.

YouTube Video