Để kiểm tra biến có phải undefined, dùng toán tử logic hoặc typeof. Kết quả false nghĩa là biến chưa định nghĩa (hoặc là undefined/null/0/""). Ví dụ dưới đây biến rank = 1 → true (đã định nghĩa).
Ví dụ
<html>
<body>
<script>
var rank = 1;
if (rank) {
document.write("True"); // Biến có giá trị truthy
} else {
document.write("False");
}
</script>
</body>
</html>
Các cách kiểm tra chính xác hơn
1. Kiểm tra có tồn tại (không phải ReferenceError)
// typeof an toàn - không throw ReferenceError nếu biến chưa khai báo
if (typeof myVar !== "undefined") {
console.log("Biến đã khai báo");
}
2. Kiểm tra có giá trị (không phải null/undefined)
if (myVar != null) { // loose equality bắt cả null và undefined
// myVar có giá trị
}
3. Kiểm tra strict undefined
if (myVar !== undefined) {
// myVar không phải undefined (có thể là null, 0, "", false)
}
4. Kiểm tra truthy/falsy (phổ biến)
if (myVar) {
// myVar là truthy: không phải false, 0, "", null, undefined, NaN
}
Lưu ý quan trọng
if (rank)trong ví dụ gốc kiểm tra truthy, không phải "đã định nghĩa". Biếnvar rank;(không gán giá trị) →undefined→ falsy → ghi "False".- Biến chưa khai báo (
undeclared) dùngif (x)sẽ throw ReferenceError. Phải dùngtypeof x !== "undefined". null == undefinedlàtrue, nhưngnull === undefinedlàfalse.