Một biến không xác định hoặc bất kỳ thứ gì không có giá trị sẽ luôn trả về “không xác định” trong JavaScript. Điều này không giống như null, mặc dù thực tế là cả hai đều ngụ ý trạng thái trống rỗng.
Thông thường, bạn sẽ gán một giá trị cho một biến sau khi khai báo nó, nhưng điều này không phải lúc nào cũng đúng.
Khi một biến được khai báo hoặc khởi tạo nhưng không có giá trị nào được gán cho nó, JavaScript sẽ tự động hiển thị “không xác định”. Nó trông như thế này:
let myStr;
console.log(myStr); // undefined
Ngoài ra, khi bạn thử truy cập các giá trị, ví dụ, trong một mảng hoặc đối tượng không tồn tại, nó sẽ ném undefined
.
let user = {
name: "John Doe",
age: 14
};
console.log(user.hobby); // undefined
Đây là một ví dụ khác:
let myArr = [12, 33, 44];
console.log(myArr[7]); // undefined
Trong bài viết này, bạn sẽ tìm hiểu các phương pháp và cách tiếp cận khác nhau mà bạn có thể sử dụng để biết liệu một biến có undefined
trong JavaScript. Điều này là cần thiết nếu bạn muốn tránh các lỗi ném mã của mình khi thực hiện một thao tác với một biến không xác định.
Trong trường hợp bạn đang vội, đây là ba phương pháp tiêu chuẩn có thể giúp bạn kiểm tra xem một biến có undefined
trong JavaScript:
if(myStr === undefined){}
if(typeof myArr[7] === "undefined"){}
if(user.hobby === void 0){}
Bây giờ chúng ta hãy giải thích chi tiết hơn từng phương pháp này.
Cách kiểm tra xem một biến có phải là không xác định trong JavaScript với So sánh trực tiếp hay không
Một trong những phương pháp đầu tiên xuất hiện trong đầu là so sánh trực tiếp. Đây là nơi bạn so sánh đầu ra để xem nó có trả về không undefined
. Bạn có thể dễ dàng làm điều này theo cách sau:
let user = {
name: "John Doe",
age: 14
};
if (user.hobby === undefined) {
console.log("This is undefined");
}
Điều này cũng hoạt động cho các mảng như bạn có thể thấy bên dưới:
let scores = [12, 34, 66, 78];
if (scores[10] === undefined) {
console.log("This is undefined");
}
Và nó chắc chắn cũng hoạt động với các biến khác:
let name;
if (name === undefined) {
console.log("This is undefined");
}
Cách kiểm tra xem một biến có phải là không xác định trong JavaScript với typeof
Chúng ta cũng có thể sử dụng loại biến để kiểm tra xem nó có undefined
. May mắn cho chúng tôi, undefined là một kiểu dữ liệu cho một giá trị không xác định như bạn có thể thấy bên dưới:
let name;
console.log(typeof name); // "undefined"
Với điều này, giờ đây chúng ta có thể sử dụng kiểu dữ liệu để kiểm tra undefined cho tất cả các loại dữ liệu như chúng ta đã thấy ở trên. Đây là cách kiểm tra sẽ như thế nào đối với cả ba tình huống mà chúng tôi đã xem xét:
if(typeof user.hobby === "undefined"){}
if(typeof scores[10] === "undefined"){}
if(typeof name === "undefined"){}
Cách kiểm tra xem một biến có phải là không xác định trong JavaScript với Void
Nhà điều hành
Các void
Toán tử thường được sử dụng để lấy undefined
giá trị nguyên thủy. Bạn có thể làm điều này bằng cách sử dụng “void(0)
” tương tự như “void 0
” như bạn có thể thấy bên dưới:
console.log(void 0); // undefined
console.log(void(0)); // undefined
Theo nghĩa thực tế, điều này hoạt động giống như so sánh trực tiếp (mà chúng ta đã thấy trước đây). Nhưng chúng tôi sẽ thay thế không xác định bằng void(0)
hoặc void 0
như được thấy dưới đây:
if(typeof user.hobby === void 0){}
if(typeof scores[10] === void 0){}
if(typeof name === void 0){}
Hoặc như thế này:
if(typeof user.hobby === void(0)){}
if(typeof scores[10] === void(0)){}
if(typeof name === void(0)){}
Phần kết luận
Trong bài viết này, chúng ta đã học cách kiểm tra xem một biến có phải là không xác định hay không và nguyên nhân khiến một biến không được xác định.
Chúng tôi cũng đã học được ba phương pháp mà chúng tôi có thể sử dụng để kiểm tra xem một biến có phải là không xác định hay không. Tất cả các phương pháp hoạt động hoàn hảo. Chọn phương pháp ưa thích của bạn là hoàn toàn tùy thuộc vào bạn.
Hãy mã hóa vui vẻ!