Cách sử dụng toán tử typeof trong JavaScript
Javascript căn bản | by
Trong JavaScript, việc kiểm tra kiểu dữ liệu của một biến là rất quan trọng để tránh lỗi và đảm bảo chương trình hoạt động đúng cách. Toán tử typeof
là một công cụ hữu ích giúp lập trình viên xác định kiểu dữ liệu của một giá trị một cách nhanh chóng và đơn giản. Với cú pháp ngắn gọn, typeof
có thể kiểm tra các kiểu dữ liệu nguyên thủy như string
, number
, boolean
hay các kiểu dữ liệu tham chiếu như object
, function
.
Tuy nhiên, typeof
cũng có một số hạn chế, chẳng hạn như việc trả về "object"
cho null
hoặc không thể phân biệt rõ ràng giữa mảng và object. Vậy typeof
hoạt động như thế nào? Khi nào nên sử dụng? Bài viết này sẽ giúp bạn hiểu rõ hơn về cách sử dụng typeof
, các trường hợp đặc biệt và ứng dụng thực tế của nó trong lập trình JavaScript.
Toán tử typeof trong JavaScript
Toán tử typeof
trong JavaScript là một công cụ hữu ích giúp kiểm tra kiểu dữ liệu của một biến hoặc giá trị. Đây là một toán tử một ngôi (unary operator), nghĩa là nó chỉ cần một toán hạng để hoạt động. Kết quả của typeof
luôn là một chuỗi (string) mô tả loại dữ liệu của toán hạng được kiểm tra.
Cú pháp của typeof
typeof operand
Hoặc:
typeof (operand)
Trong đó, operand
có thể là một biến, giá trị hoặc một biểu thức cần kiểm tra.
Ví dụ:
console.log(typeof "Hello"); // "string" console.log(typeof 42); // "number" console.log(typeof true); // "boolean" console.log(typeof {}); // "object" console.log(typeof function(){}); // "function" console.log(typeof undefined); // "undefined"
Vai trò của typeof trong kiểm tra kiểu dữ liệu
Toán tử typeof
đóng vai trò quan trọng trong việc kiểm tra và xử lý dữ liệu trong JavaScript. Dưới đây là một số lý do chính khiến typeof
trở nên hữu ích:
Giúp kiểm tra kiểu dữ liệu động của JavaScript
JavaScript là một ngôn ngữ có kiểu dữ liệu động (dynamic typing), nghĩa là một biến có thể thay đổi kiểu dữ liệu trong suốt thời gian chạy chương trình. Toán tử typeof
giúp kiểm tra kiểu dữ liệu của một biến trước khi thực hiện các thao tác, tránh lỗi do không phù hợp kiểu dữ liệu.
Ví dụ:
let x = "Hello"; console.log(typeof x); // "string" x = 123; console.log(typeof x); // "number"
Hỗ trợ kiểm tra giá trị undefined
Khi một biến chưa được gán giá trị, nó có kiểu undefined
. Sử dụng typeof
giúp kiểm tra sự tồn tại của một biến mà không gây lỗi.
Ví dụ:
let user; console.log(typeof user); // "undefined" console.log(typeof unknownVar); // "undefined" (Không gây lỗi ngay cả khi biến chưa được khai báo)
Kiểm tra trước khi gọi hàm hoặc truy cập thuộc tính
Để tránh lỗi khi gọi một hàm hoặc truy cập một thuộc tính không tồn tại, typeof
có thể được sử dụng để kiểm tra trước.
Ví dụ:
if (typeof myFunction === "function") { myFunction(); } else { console.log("myFunction không tồn tại!"); }