Sự khác biệt giữa Null và Undefined trong JavaScript là gì?

Sự khác biệt giữa Null và Undefined trong JavaScript là gì?

Hướng dẫn này sẽ xem xét sự khác biệt giữa vô giá trịkhông xác định giá trị trong JavaScript. Biết được sự khác biệt giữa hai giá trị này là rất quan trọng để gỡ lỗi và tạo mã không có lỗi.





một hoặc nhiều giao thức bị thiếu trên máy tính này

Sử dụng bảng điều khiển trình duyệt của bạn để làm theo hoặc thử các mẫu mã được thảo luận trong hướng dẫn này.





So sánh sự bình đẳng của các giá trị rỗng và không xác định

Trong JavaScript, vô giá trị là một giá trị nguyên thủy được sử dụng để biểu thị sự vắng mặt có chủ đích của một giá trị đối tượng, trong khi không xác định là một giá trị nguyên thủy hoạt động như một trình giữ chỗ cho một biến chưa được gán giá trị.





Vô giá trịkhông xác định các giá trị bằng nhau khi được so sánh bằng cách sử dụng toán tử bình đẳng JavaScript.

Sử dụng toán tử bình đẳng ( == ) để so sánh nếu vô giá trịkhông xác định các giá trị bằng nhau trong JavaScript.



Mở bảng điều khiển trình duyệt của bạn và nhập mã sau, sau đó nhấn Vào.

null == undefined

Kết quả đầu ra sẽ cung cấp cho bạn một cái gì đó trông giống như thế này, giá trị boolean trả về của thật đơn giản có nghĩa là hai giá trị bằng nhau.





Tìm hiểu thêm: Cách khai báo các biến trong JavaScript

So sánh bình đẳng nghiêm ngặt

JavaScript cũng có một toán tử nhận dạng ( === ), còn được gọi là toán tử bình đẳng nghiêm ngặt ngoài toán tử bình đẳng ( == )





Toán tử nhận dạng đi xa hơn bằng cách kiểm tra xem loại cơ bản của các giá trị đang được so sánh có giống nhau không. Về cơ bản, điều này có nghĩa là mặc dù hai giá trị bằng nhau, nhưng chúng có thể không giống nhau hoặc hoàn toàn bằng nhau nếu kiểu cơ bản của chúng khác nhau.

Để kiểm tra sự bằng nhau nghiêm ngặt, hãy sử dụng dấu bằng ba như bên dưới.

null === undefined

Kết quả của lệnh trên sẽ cung cấp cho bạn giá trị boolean là sai Nói cách khác, hai giá trị không giống nhau mặc dù chúng bằng nhau.

Tìm ra loại rỗng và không xác định

Sử dụng hàm JavaScript tích hợp sẵn loại() để tìm ra kiểu cơ bản của một giá trị. Hàm nhận một tham số duy nhất của giá trị có kiểu mà bạn muốn tìm.

Có liên quan: Bảng gian lận JavaScript cuối cùng

typeof(null)

Giá trị null thuộc loại sự vật như bạn có thể thấy từ đầu ra bên dưới.

Chạy một bài kiểm tra tương tự trên không xác định giá trị sẽ cho bạn kết quả là không xác định .

typeof(undefined)

Làm việc với các con số

Để khám phá thêm sự khác biệt, hãy tiến hành kiểm tra số vô giá trịkhông xác định các giá trị. Nếu một giá trị là một số, nó ngụ ý rằng chúng ta có thể thực hiện các phép toán số trên nó.

Có hai cách chính để kiểm tra xem một giá trị có phải là một số trong JavaScript hay không.

1. Sử dụng isFinite () hàm — nếu giá trị được kiểm tra là một số, hàm trả về thật ; nếu không nó sẽ trở lại sai .

2. Sử dụng isNaN () hàm — nếu giá trị được kiểm tra là một số, thì nó trả về sai ; nếu không nó sẽ trở lại thật .

Ghi chú : isNaN là viết tắt của 'is Not a Number'.

Để giữ mọi thứ đơn giản, hướng dẫn này sẽ chỉ sử dụng isFinite () chức năng để kiểm tra xem giá trị có phải là một số hay không, nhưng bạn cũng có thể thử isNaN () hàm số. Cả hai hàm này đều lấy giá trị mà bạn muốn để chạy kiểm tra số làm tham số.

isFinite(null)

Kết quả là thật , Ý nghĩa vô giá trị là một giá trị của loại con số trong JavaScript. Trong khi đó, tiến hành thử nghiệm tương tự trên không xác định trả lại sai .

isFinite(undefined)

Loại cưỡng chế

JavaScript là một ngôn ngữ được đánh máy lỏng lẻo, và do đó, khi thực hiện các phép toán JavaScript sẽ tự động chuyển đổi kết quả thành kiểu mà nó muốn.

Thật không may, chuyển đổi tự động này, thường được gọi là cưỡng chế kiểu, có thể mang lại nhiều điều bất ngờ cùng với nó.

Chạy thao tác số sau trên vô giá trịkhông xác định trong bảng điều khiển trình duyệt của bạn.

1 + null 3 * null 1 + undefined 3 * undefined;

Như bạn thấy, bạn có thể tiến hành một số thao tác số trên vô giá trị giá trị bởi vì đó là một số không có giá trị. Do đó, nó được coi như một con số không. Hãy lưu ý rằng vô giá trị Không bằng số không trong JavaScript, nhưng bằng cách nào đó nó được xử lý như vậy trong trường hợp này.

Các phép toán số trên không xác định giá trị dẫn đến trả về NaN (Không phải số) giá trị. Nếu không được xử lý cẩn thận, bạn có thể gặp phải trường hợp này trong thời gian chạy.

Tránh lỗi thời gian chạy

Một sự hiểu biết tốt về vô giá trịkhông xác định giá trị là rất quan trọng để tránh lỗi thời gian chạy trong mã sản xuất của bạn. Lỗi liên quan đến không xác định các giá trị có thể khó gỡ lỗi và tốt nhất là nên tránh.

Cân nhắc sử dụng TypeScript cho mã được gõ mạnh biên dịch sang JavaScript. Trong TypeScript, mã của bạn được kiểm tra tại thời điểm biên dịch để giảm thiểu các lỗi thời gian chạy trong mã sản xuất của bạn.

Đăng lại Đăng lại tiếng riu ríu E-mail Chủ đề liên quan
  • Lập trình
  • JavaScript
  • Mẹo mã hóa
Giới thiệu về tác giả Tốt để đi(36 bài báo đã xuất bản)

Mwiza phát triển phần mềm theo chuyên môn và viết nhiều trên Linux và lập trình front-end. Một số sở thích của anh ấy bao gồm lịch sử, kinh tế, chính trị & kiến ​​trúc doanh nghiệp.

Xem thêm từ Mwiza Kumwenda

Theo dõi bản tin của chúng tôi

Tham gia bản tin của chúng tôi để biết các mẹo công nghệ, đánh giá, sách điện tử miễn phí và các ưu đãi độc quyền!

Bấm vào đây để đăng ký