HomeLập trìnhJavaScriptJavaScript Nullable –...

JavaScript Nullable – Cách kiểm tra Null trong JS


Đôi khi bạn phải kiểm tra để đảm bảo rằng không có gì thực sự không phải là… không có gì. 😲❗❓

Trong JavaScript, vô giá trị là một kiểu nguyên thủy có chủ ý chứa giá trị null. Không xác định là một kiểu nguyên thủy và đại diện cho một biến bạn khai báo mà không bắt đầu một giá trị.

Vì vậy, null là không có gì và undefined chỉ thiếu một cái gì đó. 🤣

không có gì
null là không có gì; không xác định không phải là một cái gì đó

Không siêu hữu ích, tôi biết. Hãy tìm hiểu sâu hơn.

Cách xác định giá trị Null và Undefined

Một ví dụ sẽ giúp ích. Dưới đây chúng tôi khai báo hai biến. Hãy giữ cho nó đơn giản và sử dụng nullundefined để so sánh kết quả vì đôi khi chúng bị nhầm lẫn vì những điểm tương đồng của chúng.

let leviticus = null;
// leviticus is null

let dune;
// dune is undefined
Khai báo hai biến: một null và một không xác định.

leviticuscố ý không có giá trị đối tượng (vô giá trị). Nhưng trái lại dune được tuyên bố, nhưng nó là vô tình thiếu một giá trị (không xác định).

Cách kiểm tra Null với typeof()

Bạn có thể kiểm tra null với typeof() toán tử trong JavaScript.

Đọc thêm  Tìm hiểu kiến ​​thức cơ bản về JavaScript bằng cách xây dựng ứng dụng truy cập
console.log(typeof(leviticus))
// object

console.log(typeof(dune))
// undefined
typeof() sẽ trả về ‘đối tượng’ khi được gọi trên biến null

Thật kỳ lạ, nếu bạn kiểm tra với typeof()một biến null sẽ trả về object. Điều này là do một lỗi lịch sử trong JavaScript.

Cách kiểm tra Null với toán tử đẳng thức

Một sự tò mò khác là khi bạn kiểm tra một cách lỏng lẻo sự bằng nhau bằng cách sử dụng gấp đôi ==, nullundefined sẽ trở lại true.

console.log(leviticus == dune)
// true

console.log(leviticus === dune)
// false

console.log(leviticus == null)
// true (but not as good a habit to use as strict equality shown in next example)

Nhưng khi bạn kiểm tra nghiêm ngặt sự bình đẳng bằng cách sử dụng ba bằng ===null và undefined sẽ trả về false.

Điều này là do cả null và undefined đều sai trong JavaScript. Sai có nghĩa là một giá trị được coi là false khi gặp trong một Boolean (true hoặc false) bối cảnh.

JavaScript sử dụng tính năng cưỡng chế để ép buộc các giá trị từ loại này sang loại khác để có thể sử dụng chúng trong ngữ cảnh Boolean.

Nhưng bằng cách kiểm tra nghiêm ngặt sự bằng nhau, bạn có thể thấy rằng chúng thực tế không bằng nhau.

Cách kiểm tra Null với đẳng thức nghiêm ngặt

Cách tốt nhất để kiểm tra null là sử dụng đẳng thức nghiêm ngặt và rõ ràng:

console.log(leviticus === null)
// true

console.log(dune === null)
// false

Cách kiểm tra Null với Object.is() Phương pháp

Một cách hoàn hảo không kém để kiểm tra null là sử dụng tích hợp sẵn Object.is() phương pháp:

console.log(Object.is(leviticus, null)
// true
            
console.log(Object.is(dune, null)
// false

Tóm lược

  • null là một loại nguyên thủy của một biến đánh giá sai, có một typeof() của đối tượng và thường được cố ý khai báo là null
  • undefined là một loại nguyên thủy của một biến đánh giá sai, có một typeof() của không xác định và đại diện cho một biến được khai báo nhưng thiếu giá trị ban đầu.
  • null == undefined đánh giá là đúng bởi vì họ lỏng lẻo bằng nhau.
  • null === undefined đánh giá là sai bởi vì chúng không, trong thực tếcông bằng.
  • <null_variable> === nullcách tốt nhất để kiểm tra nghiêm ngặt cho null.
  • Object.is(<null_variable>,null) là một cách đáng tin cậy như nhau để kiểm tra null.
Đọc thêm  Hãy làm sáng tỏ từ khóa 'mới' của JavaScript

Hãy lấy lòng! Như bạn có thể đã biết, có rất nhiều câu hỏi hóc búa trong hệ sinh thái JavaScript như thế này. Nhưng khi bạn chia nhỏ nó ra, bạn có thể tự tin hiểu chúng/

denzel
Bạn có thể làm được!

Cảm ơn vì đã đọc!

Tôi hy vọng đây là một sự cố hữu ích cho bạn. Tiếp tục viết mã và tiếp tục hướng về phía trước!

Hãy nói xin chào với tôi trên Twitter: https://twitter.com/EamonnCottrell

Chúc bạn vui vẻ 👋.





Zik.vn – Biên dịch & Biên soạn Lại

spot_img

Create a website from scratch

Just drag and drop elements in a page to get started with Newspaper Theme.

Buy Now ⟶

Bài viết liên quang

DMCA.com Protection Status