Kiểm tra xem biến có phải là javascript không xác định không

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

Không xác định == JavaScript không xác định?

Nói một cách đơn giản, không xác định có nghĩa là một biến đã được khai báo nhưng chưa được gán giá trị. không xác định là một loại của chính nó [không xác định] . Các biến chưa gán được JavaScript khởi tạo với giá trị mặc định là không xác định.

Là không xác định == null?

Có nghĩa là null bằng với không xác định nhưng không giống nhau . Khi chúng tôi định nghĩa một biến thành không xác định thì chúng tôi đang cố truyền đạt rằng biến đó không tồn tại. Khi chúng tôi định nghĩa một biến thành null thì chúng tôi đang cố truyền đạt rằng biến đó trống.

Làm cách nào để kiểm tra xem một biến có phải là null trong JavaScript không?

Bạn có thể dễ dàng kiểm tra xem một biến là Null hay Not Null trong JavaScript bằng cách áp dụng điều kiện if-else đơn giản cho biến đã cho. .
Nếu my_var không được xác định thì điều kiện sẽ thực thi
Nếu my_var bằng 0 thì điều kiện sẽ thực hiện
Nếu my_var là ” [chuỗi rỗng] thì điều kiện sẽ thực hiện

Không xác định === sai?

Mô tả. Ví dụ, một giá trị sai là giá trị đánh giá là FALSE khi kiểm tra một biến. Chỉ có sáu giá trị falsey trong JavaScript. undefined , null , NaN , 0 , "" [chuỗi trống] và tất nhiên là false .

Chủ Đề