JavaScript có kiểu dữ liệu nguyên thủy được gọi là không xác định đại diện cho một biến mà không được gán. Ngoài thuộc tính không xác định, JavaScript có giá trị null và cả hai giá trị đều biểu thị giá trị trống trong JavaScript
Những điều này thường gây nhầm lẫn cho người dùng về việc một biến là không xác định hay null. Trong bài viết này, chúng ta sẽ thảo luận về cách undefined hoạt động trong JavaScript và cách kiểm tra xem một biến có phải là undefined hay không
Không xác định trong JavaScript là gì?
Người dùng có thể sử dụng thuộc tính kiểu nguyên thủy không xác định để kiểm tra xem một biến có giá trị được gán cho nó hay không. Trình thông dịch JavaScript trả về không xác định khi người dùng truy cập một biến hoặc thuộc tính đối tượng mà họ chưa khởi tạo
Khi một biến được khai báo hoặc khởi tạo, nhưng người dùng không gán bất kỳ giá trị nào cho nó, trình thông dịch sẽ tự động hiển thị "không xác định. "
Hãy cho chúng tôi xem một ví dụ về cách undefined hoạt động
function demo[d] {
if [d === undefined] {
return 'This is an Undefined value.';
}
return d;
}
let a;
console.log [demo[a]]
đầu ra
Mã vận hành
Giải trình
Ở đây, chúng tôi đã sử dụng chức năng "demo" và khai báo một tham số "d" với giá trị không xác định. Sau đó, chúng tôi gọi hàm và nó trả về câu lệnh của “khối if”
Giá trị trả về
Không xác định trả về 'đã xác định' nếu người dùng gán một biến với bất kỳ giá trị nào và 'không xác định' nếu không
Làm cách nào để kiểm tra xem một biến có phải là không xác định không?
Người dùng có thể kiểm tra xem một biến có phải là không xác định hay không bằng cách sử dụng hai kỹ thuật. Chúng đang sử dụng toán tử typeof và toán tử so sánh, toán tử đẳng thức lỏng lẻo == hoặc toán tử đẳng thức nghiêm ngặt ===
Phương pháp 1. Sử dụng toán tử typeof để kiểm tra các biến không xác định
Nó là một toán tử được sử dụng để kiểm tra loại biến được định nghĩa bên trong nó. Người dùng có thể sử dụng toán tử typeof này với bất kỳ toán hạng nào, chẳng hạn như bất kỳ hàm, biến hoặc đối tượng nào có loại mà họ muốn tìm hiểu khi vận hành toán tử typeof
Một lý do quan trọng nhất để sử dụng typeof là nó không đưa ra bất kỳ lỗi nào nếu người dùng không khai báo một biến với bất kỳ giá trị nào.
Hãy cho chúng tôi xem cách toán tử typeof hoạt động
let a;
if [typeof a === 'undefined'] {
console.log['Variable is undefined'];
}
đầu ra
Mã vận hành
Giải trình
Toán tử typeof định nghĩa kiểu của biến. Tuy nhiên, người dùng nên lưu ý rằng nếu họ chọn một biến tham chiếu không tồn tại, toán tử typeof sẽ làm việc với nó, trả về nó là không xác định
Một ví dụ khác về toán tử typeof như sau
const a = []
const b = 5
let c;
typeof list //"object"
typeof count //"number"
typeof "test" //"string"
typeof color
console.log [typeof a]
console.log [typeof b]
console.log [typeof c]
đầu ra
Mã vận hành
Phương pháp 2. Sử dụng toán tử so sánh để kiểm tra undefined
Một kỹ thuật khác để kiểm tra undefined là sử dụng toán tử so sánh trong JavaScript. Đây là các toán tử đẳng thức lỏng lẻo [==] và toán tử đẳng thức nghiêm ngặt [===]. Nhưng người dùng nên sử dụng Toán tử đẳng thức nghiêm ngặt [===] thay vì Toán tử đẳng thức lỏng lẻo [==] vì toán tử đẳng thức lỏng lẻo [==] coi null và không xác định giống nhau. Mặt khác, toán tử Strict [===] kiểm tra và trả về rằng "không xác định" và "null" không giống nhau
Hãy để chúng tôi xem đoạn mã và hiểu cách nó kiểm tra các biến
let obj = {
a: [],
b: 20
};
if [obj.c === undefined] {
console.log["This is undefined"];
}
đầu ra
Mã vận hành
Giải trình
Ở đây, toán tử so sánh kiểm tra và tìm hiểu xem biến có bất kỳ giá trị nào được gán cho nó hay không. Vì biến c không có giá trị được gán cho nó nên toán tử trả về không xác định
Một ví dụ khác về Toán tử bình đẳng nghiêm ngặt như sau
let demo = [12, 34, 66, 78];
if [demo[40] === undefined] {
console.log["This is undefined"];
}
đầu ra
Mã vận hành
Ghi chú
Sự khác biệt nổi bật giữa hai cách tiếp cận, tôi. e. , toán tử typeof và toán tử so sánh, là nếu người dùng không khai báo x, Đẳng thức nghiêm ngặt [===] để kiểm tra các biến không xác định sẽ đưa ra ReferenceError, trong khi typeof thì không
Phần kết luận
Chúng tôi hy vọng bài viết này đã cung cấp các chi tiết ngắn gọn về cách kiểm tra xem một biến có phải là không xác định hay không. Cả hai phương pháp đều hoạt động chính xác, nhưng người dùng nên chọn phương pháp hiệu quả nhất