Cách so sánh không xác định trong JavaScript
Trong chương trình trên, một biến được kiểm tra nếu nó tương đương với The variable is neither undefined nor null The variable is neither undefined nor null The variable is undefined or null The variable is undefined or null9. The variable is neither undefined nor null The variable is neither undefined nor null The variable is undefined or null The variable is undefined or null9 với 1 kiểm tra cả giá trị The variable is neither undefined nor null The variable is neither undefined nor null The variable is undefined or null The variable is undefined or null9 và The variable is neither undefined nor null The variable is neither undefined nor null The variable is undefined or null The variable is undefined or null0. Điều này là do The variable is neither undefined nor null The variable is neither undefined nor null The variable is undefined or null The variable is undefined or null1 đánh giá là đúng Show
Đoạn mã sau
tương đương với
ví dụ 2. sử dụng typeof
đầu ra The variable is neither undefined nor null The variable is neither undefined nor null The variable is undefined or null The variable is undefined or null Toán tử The variable is neither undefined nor null The variable is neither undefined nor null The variable is undefined or null The variable is undefined or null2 cho giá trị The variable is neither undefined nor null The variable is neither undefined nor null The variable is undefined or null The variable is undefined or null0 trả về không xác định. Do đó, bạn có thể kiểm tra giá trị The variable is neither undefined nor null The variable is neither undefined nor null The variable is undefined or null The variable is undefined or null0 bằng cách sử dụng toán tử The variable is neither undefined nor null The variable is neither undefined nor null The variable is undefined or null The variable is undefined or null2. Ngoài ra, các giá trị The variable is neither undefined nor null The variable is neither undefined nor null The variable is undefined or null The variable is undefined or null9 được kiểm tra bằng toán tử The variable is neither undefined nor null The variable is neither undefined nor null The variable is undefined or null The variable is undefined or null7 Trong JavaScript, có hai loại giá trị đặc biệt – không xác định và null. Điều quan trọng đối với người mới bắt đầu là hiểu được sự khác biệt giữa chúng (không có giá trị và không xác định) và khi nào thì sử dụng cái gì. Hãy cùng tìm hiểu chi tiết về undefined và null trong hướng dẫn này Mục lục
Giới thiệu về giá trị không xác định và nullNhiều khi chúng ta hay nhầm lẫn giữa UNDEFINED và NULL khác nhau ở điểm nào. 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 The variable is neither undefined nor null The variable is neither undefined nor null The variable is undefined or null The variable is undefined or null1 Ở đây vì biến được khai báo nhưng không được gán giá trị nào nên mặc định biến được gán giá trị là undefined Mặt khác, null là một đối tượng. Nó có thể được gán cho một biến dưới dạng đại diện không có giá trị. JavaScript không bao giờ đặt giá trị thành null. Điều đó phải được thực hiện theo chương trình Ví dụ, khi bạn không biết giá trị ban đầu, bạn có thể gán giá trị null cho một biến. Hãy xem một ví dụ The variable is neither undefined nor null The variable is neither undefined nor null The variable is undefined or null The variable is undefined or null2 Ở đây, trong ví dụ trên, biến n được gán giá trị ban đầu là null. Sau đó, trong chương trình, giá trị của biến đã được tính từ một biểu thức Không xác định so với null - sự khác biệt1) Các kiểu dữ liệuKiểu dữ liệu không xác định là không xác định trong khi kiểu dữ liệu null là đối tượng. Chúng ta có thể tìm thấy kiểu dữ liệu của cả undefined và null bằng cách sử dụng toán tử typeof The variable is neither undefined nor null The variable is neither undefined nor null The variable is undefined or null The variable is undefined or null3 2) Trong các phép toán số họcKhi được sử dụng trong các phép tính số học, undefined sẽ dẫn đến NaN (không phải số), trong khi null sẽ được chuyển thành 0 phía sau màn hình The variable is neither undefined nor null The variable is neither undefined nor null The variable is undefined or null The variable is undefined or null4 The variable is neither undefined nor null The variable is neither undefined nor null The variable is undefined or null The variable is undefined or null5 Vì t không được gán một giá trị nên theo mặc định, nó được gán một giá trị không xác định. Do đó, kết quả tính lãi đơn giản trong NaN 3) Không xác định và null là saiKhi được sử dụng trong logic có điều kiện, cả undefined và null sẽ trả về false The variable is neither undefined nor null The variable is neither undefined nor null The variable is undefined or null The variable is undefined or null6 Ở đây, toán tử phủ định kép boolean hay còn gọi là toán tử bang bang được sử dụng để kiểm tra giá trị boolean tương đương với một giá trị The variable is neither undefined nor null The variable is neither undefined nor null The variable is undefined or null The variable is undefined or null7 Như bạn có thể thấy ở đây, cả hai biến t không được xác định và biến a được coi là null, trả về false và do đó không thỏa mãn một trong hai điều kiện if và trả về kết quả đầu ra "cả t và a đều không được xác định bằng một giá trị" 4) So sánh không xác định và nullHãy xem điều gì sẽ xảy ra khi bạn so sánh undefined và null bằng toán tử đẳng thức JavaScript The variable is neither undefined nor null The variable is neither undefined nor null The variable is undefined or null The variable is undefined or null8 Như bạn có thể thấy, khi toán tử đẳng thức được sử dụng, nó chỉ so sánh các giá trị. Cả undefined và null đều là falsy theo mặc định. Vì vậy, == trả về true Nhưng khi chúng ta sử dụng toán tử đẳng thức nghiêm ngặt (===) để kiểm tra cả loại và giá trị, vì không xác định và null thuộc các loại khác nhau (từ phần Toán tử typeof), toán tử đẳng thức nghiêm ngặt trả về false Để hiểu thêm về sự khác biệt giữa toán tử đẳng thức trừu tượng và nghiêm ngặt, hãy xem hướng dẫn tại đây Tại sao Null là một đối tượng?Như đã hứa, bây giờ hãy xem tại sao loại null lại là một “đối tượng”. Vì sau đó nó chỉ ra rằng null phải là một đối tượng, điều này không đúng. Trên thực tế, null là một trong những giá trị nguyên thủy trong JavaScript Nó thực sự là một lỗi trong ngôn ngữ và rất tiếc là không thể sửa dễ dàng như vậy, vì nó sẽ phá vỡ cơ sở mã hiện có Tuy nhiên, thực sự có một lời giải thích hợp lý đằng sau lý do tại sao null là một đối tượng trong javascript Trong phiên bản đầu tiên của JavaScript, các giá trị được lưu trữ theo đơn vị 32 bit. 3 bit đầu tiên đại diện cho thẻ loại dữ liệu theo sau là các bit còn lại đại diện cho giá trị Đối với tất cả các đối tượng, nó là 000 dưới dạng bit thẻ loại. null được coi là một giá trị đặc biệt trong JavaScript từ phiên bản đầu tiên của nó. null là một đại diện của con trỏ null. Tuy nhiên, không có con trỏ trong JavaScript như C. Vì vậy, null đơn giản có nghĩa là không có gì hoặc vô hiệu và được biểu thị bằng tất cả các số 0. Do đó tất cả 32 bit của nó là 0. Vì vậy, bất cứ khi nào trình thông dịch JavaScript đọc null, nó sẽ coi 3 bit đầu tiên là loại “đối tượng”. Đó là lý do tại sao typeof null trả về “đối tượng” Chúng ta có thể so sánh với undefined trong JS không?Trong các trình duyệt hiện đại bạn có thể so sánh biến trực tiếp với biến không xác định một cách an toàn. nếu (tên === không xác định) {. } Sau lần gán lại đó, việc so sánh trực tiếp với undefined sẽ không còn phát hiện chính xác liệu một biến có được gán giá trị hay không. Giá trị của undefined là không xác định (xem 8. 1).
Làm cách nào để phát hiện không xác định trong JavaScript?Hãy dùng thử. kiểm tra hàm(t) { if (t === undefined) { return 'Giá trị không xác định. '; . log(test(x)); // kết quả dự kiến. "Giá trị không xác định. "
Không xác định == sai trong JavaScript?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 .
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. |