JavaScript - typeof Operator

Chào mừng các bạnocoder tiềm năng! Hôm nay, chúng ta sẽ bắt đầu một chuyến hành trình thú vị vào thế giới của JavaScript, cụ thể là khám phá toán tử typeof. Đừng lo lắng nếu bạn mới bắt đầu học lập trình; tôi sẽ hướng dẫn bạn từng bước qua khái niệm này, cũng như tôi đã làm cho hàng trăm học viên trong nhiều năm qua. Vậy, hãy lấy饮料 yêu thích của bạn, thoải mái và cùng tôi nhảy vào nhé!

JavaScript - typeof Operator

The typeof Operator

Hãy tưởng tượng bạn là một thám tử trong thế giới JavaScript, và nhiệm vụ của bạn là xác định loại của các mảnh dữ liệu khác nhau. Đó chính xác là điều mà toán tử typeof làm! Nó giống như một kính lúp giúp chúng ta xác định loại của một giá trị hoặc biểu thức trong JavaScript.

Syntax

Sử dụng toán tử typeof đơn giản như ăn bánh pie (và ai lại không thích bánh pie?). Dưới đây là cách bạn làm:

typeof operand
// hoặc
typeof(operand)

Cả hai hình thức đều hoạt động alike, vì vậy bạn chọn bất kỳ hình thức nào trông đẹp hơn đối với bạn. Cá nhân tôi thích hình thức đầu tiên vì nó ít phải gõ hơn, và hãy thừa nhận đi, các nhà lập trình đều yêu thích hiệu quả!

Datatypes Returned by typeof Operator

Bây giờ, hãy cùng nhìn vào các loại khác nhau mà typeof có thể xác định. Nó giống như một thực đơn các hương vị dữ liệu trong JavaScript:

Datatype typeof Returns
Number "number"
String "string"
Boolean "boolean"
Symbol "symbol"
Undefined "undefined"
Null "object"
Object "object"
Function "function"
BigInt "bigint"

Đừng lo lắng nếu một số loại này trông lạ lẫm. Chúng ta sẽ khám phá từng loại với các ví dụ sẽ làm bạn nghĩ "Aha!"

JavaScript typeof Operator to Check Number Type

Hãy bắt đầu với các số. Trong JavaScript, các số là như những khối xây dựng của các phép toán toán học.

console.log(typeof 42);        // "number"
console.log(typeof 3.14);      // "number"
console.log(typeof -10);       // "number"
console.log(typeof Infinity);  // "number"
console.log(typeof NaN);       // "number"

Ngạc nhiên! thậm chí InfinityNaN (Not-a-Number) cũng được coi là số trong JavaScript. Đó giống như gọi một hot dog là sandwich - một chút bất ngờ, nhưng đó là cách JavaScript hoạt động!

JavaScript typeof Operator to Check String Type

Chuỗi là như những lớp 包装 dữ liệu - chúng giữ nội dung văn bản.

console.log(typeof "Hello, World!");  // "string"
console.log(typeof '42');             // "string"
console.log(typeof ``);               // "string"

Chú ý cách '42' trong dấu ngoặc là một chuỗi, không phải là số. Đó giống như mặc một chiếc áo văn bản cho một số!

JavaScript typeof Operator to Check Boolean Type

Boolean là có/không, đúng/sai của lập trình. Chúng giống như các công tắc đèn - hoặc bật hoặc tắt.

console.log(typeof true);   // "boolean"
console.log(typeof false);  // "boolean"
console.log(typeof (1 > 2)); // "boolean"

Ví dụ cuối cùng cho thấy rằng các so sánh kết quả là boolean. Đó giống như hỏi, "1 có lớn hơn 2 không?" và nhận được câu trả lời thẳng thắn "Không!" (false).

JavaScript typeof Operator to Check Symbol Type

Symbols là các định danh duy nhất, giống như các thẻ tên tại một buổi tiệc nơi mỗi người có một tên khác nhau.

console.log(typeof Symbol('unique'));  // "symbol"

Đừng lo lắng quá nhiều về symbols bây giờ. Chúng là những đứa trẻ cool của ES6, nhưng chúng không xuất hiện ở mỗi buổi tiệc JavaScript.

JavaScript typeof Operator to Check Undefined and Null

Đây là nơi mọi thứ trở nên một chút phức tạp, giống như một trò ma thuật trong thế giới lập trình.

console.log(typeof undefined);  // "undefined"
console.log(typeof null);       // "object"

Đợi đã, gì thế? null là một đối tượng? Đây thực sự là một lỗi kéo dài từ lâu trong JavaScript, nhưng nó đã tồn tại lâu đến mức sửa lỗi này có thể làm破裂 mã hiện có. Đó giống như bàn không vững ở quán cà phê yêu thích của bạn - khó chịu, nhưng thay đổi nó có thể làm mất lòng các thực khách quen thuộc.

JavaScript typeof Operator to Check Object Type

Đối tượng là như những bình chứa có thể giữ các thuộc tính và phương thức khác nhau.

console.log(typeof {});           // "object"
console.log(typeof []);           // "object"
console.log(typeof new Date());   // "object"

Vâng, các mảng cũng là các đối tượng! Đó giống như nói một danh sách mua sắm là một loại tài liệu - đúng kỹ thuật, nhưng cảm giác có vẻ lạ.

JavaScript typeof Operator to Check Function Type

Hàm là như các động từ của lập trình - chúng làm các việc!

console.log(typeof function() {});  // "function"
console.log(typeof console.log);    // "function"

Các hàm có loại đặc biệt của riêng chúng. Đó là cách JavaScript nói, "Bạn là đặc biệt, các hàm. Bạn có riêng một loại của mình!"

JavaScript typeof Operator to Check BigInt Type

BigInt là người mới đến, được giới thiệu để xử lý các số rất lớn.

console.log(typeof 1n);  // "bigint"
console.log(typeof BigInt(1));  // "bigint"

Hãy tưởng tượng BigInt là nhà vô địch hạng nặng của các số - khi các số thông thường không đủ lớn!

JavaScript typeof Operator in Real-Time Development

Trong lập trình thực tế, typeof thường được sử dụng để kiểm tra loại trước khi thực hiện các thao tác. Nó giống như kiểm tra xem bạn có các nguyên liệu đúng trước khi bắt đầu nấu ăn.

function safeAdd(a, b) {
if (typeof a === "number" && typeof b === "number") {
return a + b;
} else {
return "Error: Both arguments must be numbers";
}
}

console.log(safeAdd(5, 10));  // 15
console.log(safeAdd("5", 10));  // "Error: Both arguments must be numbers"

Hàm này kiểm tra xem cả hai đầu vào đều là số trước khi cộng chúng. Nó giống như một bảo vệ tại câu lạc bộ "Chỉ số"!

JavaScript Arrays and typeof Operator

Đây là một khoảnh khắc bất ngờ - hãy nhớ lại rằng các mảng là các đối tượng? Hãy xem điều đó trong hành động:

console.log(typeof [1, 2, 3]);  // "object"

Vậy làm thế nào chúng ta kiểm tra các mảng? Chúng ta sử dụng một phương thức đặc biệt:

console.log(Array.isArray([1, 2, 3]));  // true
console.log(Array.isArray({a: 1}));     // false

Đó giống như có một bộ探测器 đặc biệt cho các đối tượng hình dạng mảng!

Và thế là bạn đã có nó, các bạn! Chúng ta đã cùng nhau hành trình qua vùng đất typeof trong JavaScript. Nhớ rằng, thực hành làm nên hoàn hảo, vì vậy hãy chơi với các ví dụ này. Trước khi bạn biết điều gì, bạn sẽ trở thành một chuyên gia kiểm tra loại! Chúc các bạn lập trình vui vẻ, và mong rằng các biến của bạn luôn là loại bạn mong đợi!

Credits: Image by storyset