Đối tượng là cấu trúc dữ liệu phức tạp. Đối tượng đơn giản nhất trong JavaScript là đối tượng đơn giản — một tập hợp các khóa và giá trị được liên kết
javascript
let myObject = {
name: 'Eric Cartman'
};
Nhưng có những tình huống không thể tạo một đối tượng. Đối với những trường hợp như vậy, JavaScript cung cấp một giá trị đặc biệt
5 — cho biết một đối tượng bị thiếujavascript
let myObject = null;
javascript
let myObject = null;
Trong bài đăng này, bạn sẽ tìm hiểu mọi thứ về
5 trong JavaScript. ý nghĩa của nó, cách phát hiện nó, sự khác biệt giữajavascript
let myObject = null;
5 vàjavascript
let myObject = null;
8 và tại sao việc sử dụng rộng rãijavascript
let myObject = null;
5 lại gây khó khăn cho việc bảo trì mãjavascript
let myObject = null;
Mục lục
1. khái niệm vô giá trị
JavaScript nói về
5javascript
let myObject = null;
5 là một giá trị nguyên thủy đại diện cho sự vắng mặt có chủ ý của bất kỳ giá trị đối tượng nàojavascript
let myObject = null;
Nếu bạn thấy
5 [được gán cho một biến hoặc được trả về bởi một hàm], thì tại vị trí đó lẽ ra phải là một đối tượng, nhưng vì lý do nào đó, một đối tượng đã không được tạojavascript
let myObject = null;
Ví dụ: hàm
03 tạo đối tượng, nhưng cũng có thể trả vềjavascript
let myObject = null;
5 khi không thể tạo đối tượngjavascript
let myObject = null;
0javascript
let myObject = null;
Khi gọi hàm với một đối số chuỗi như
05, như mong đợi, hàm trả về một đối tượngjavascript
let myObject = null;
06javascript
let myObject = null;
Tuy nhiên, khi gọi hàm không có đối số —
03 — hàm trả vềjavascript
let myObject = null;
5. Trả vềjavascript
let myObject = null;
5 là hợp lý vì tham sốjavascript
let myObject = null;
80 không có giá trị và không thể tạo đối tượng lời chàojavascript
let myObject = null;
1. 1 Sự tương tự trong thế giới thực của null
Nghĩ về một phép loại suy trong thế giới thực, bạn có thể tưởng tượng một biến là một cái hộp. Giống như một biến có thể chứa một đối tượng, hộp có thể chứa các đối tượng giống như ấm trà
Nhưng một khi bạn nhận được một hộp và mở nó ra. và không có gì ở đó. Ai đó đã nhầm lẫn và gửi cho bạn một chiếc hộp trống. Hộp không chứa gì, hoặc nói cách khác, chứa giá trị
5javascript
let myObject = null;
2. Cách kiểm tra giá trị rỗng
Cách tốt nhất để kiểm tra
5 là sử dụngjavascript
let myObject = null;
8javascript
let myObject = null;
83 ước tính thànhjavascript
let myObject = null;
84 vì biếnjavascript
let myObject = null;
85 chứa giá trịjavascript
let myObject = null;
5javascript
let myObject = null;
Nếu biến chứa một giá trị khác null, chẳng hạn như một đối tượng, thì biểu thức
87 ước tính làjavascript
let myObject = null;
88javascript
let myObject = null;
2. 1 null là sai
5, cùng vớijavascript
let myObject = null;
88,javascript
let myObject = null;
01,javascript
let myObject = null;
02,javascript
let myObject = null;
8,javascript
let myObject = null;
04, là một giá trị giả. Nếu gặp phải giá trị giả trong điều kiện, thì JavaScript sẽ ép giá trị giả thànhjavascript
let myObject = null;
88javascript
let myObject = null;
0javascript
let myObject = null;
2. 2 loại null
Toán tử
06 xác định loại giá trị. Ví dụ:javascript
let myObject = null;
07 làjavascript
let myObject = null;
08 vàjavascript
let myObject = null;
09 đánh giá làjavascript
let myObject = null;
00javascript
let myObject = null;
Thật thú vị, giá trị mà
01 đánh giá là gì?javascript
let myObject = null;
0javascript
let myObject = null;
hừm. làm thế nào loại đối tượng bị thiếu có thể ước tính thành
00?javascript
let myObject = null;
Không sử dụng toán tử
05 để phát hiện giá trịjavascript
let myObject = null;
5. Như đã đề cập trước đây, hãy sử dụng toán tử đẳng thức nghiêm ngặtjavascript
let myObject = null;
07javascript
let myObject = null;
Nếu bạn muốn kiểm tra xem một biến có chứa đối tượng hay không bằng cách sử dụng toán tử
05, bạn cũng phải kiểm tra lạijavascript
let myObject = null;
5javascript
let myObject = null;
1javascript
let myObject = null;
3. Cái bẫy của null
5 có thể xuất hiện, thường là bất ngờ, trong các tình huống khi bạn mong đợi một đối tượng. Sau đó, nếu bạn cố trích xuất một thuộc tính từjavascript
let myObject = null;
5, thì JavaScript sẽ báo lỗijavascript
let myObject = null;
Hãy sử dụng lại hàm
03 và thử truy cập thuộc tínhjavascript
let myObject = null;
13 từ đối tượng được trả vềjavascript
let myObject = null;
6javascript
let myObject = null;
Vì biến
80 là chuỗi rỗng nên hàm trả vềjavascript
let myObject = null;
5. Khi truy cập thuộc tínhjavascript
let myObject = null;
13 từjavascript
let myObject = null;
5, lỗi TypeError được đưa rajavascript
let myObject = null;
Bạn có thể xử lý
5 bằng cách sử dụng chuỗi tùy chọn với kết hợp vô hiệujavascript
let myObject = null;
2javascript
let myObject = null;
hoặc sử dụng 2 lựa chọn thay thế được mô tả trong phần tiếp theo
4. Các lựa chọn thay thế cho null
Thật hấp dẫn khi quay lại
5 khi bạn không thể xây dựng một đối tượng. Nhưng thực hành này có nhược điểmjavascript
let myObject = null;
Ngay khi
5 xuất hiện trong ngăn xếp thực thi của bạn, bạn luôn phải kiểm tra nójavascript
let myObject = null;
Tôi cố gắng tránh trả lại
5 để ủng hộjavascript
let myObject = null;
- trả về một đối tượng mặc định thay vì
5javascript
let myObject = null;
- đưa ra một lỗi thay vì trả về
5javascript
let myObject = null;
Hãy nhớ lại hàm
03 trả về các đối tượng lời chàojavascript
let myObject = null;
Thay vì trả về
5 khi thiếu đối số, bạn có thể trả về một đối tượng mặc địnhjavascript
let myObject = null;
0javascript
let myObject = null;
hoặc ném một lỗi
0javascript
let myObject = null;
Những thực hành này giúp bạn tránh phải đối mặt với
5javascript
let myObject = null;
5. null vs không xác định
8 là giá trị của biến chưa được khởi tạo hoặc thuộc tính đối tượngjavascript
let myObject = null;
Ví dụ: nếu bạn khai báo một biến mà không gán giá trị ban đầu, thì việc truy cập biến đó sẽ có giá trị là
8javascript
let myObject = null;
1javascript
let myObject = null;
Sự khác biệt chính giữa
5 vàjavascript
let myObject = null;
8 làjavascript
let myObject = null;
5 đại diện cho một đối tượng bị thiếu, trong khijavascript
let myObject = null;
8 đại diện cho trạng thái chưa được khởi tạojavascript
let myObject = null;
Toán tử đẳng thức nghiêm ngặt
23 phân biệtjavascript
let myObject = null;
5 vớijavascript
let myObject = null;
8javascript
let myObject = null;
2javascript
let myObject = null;
Trong khi
26 coijavascript
let myObject = null;
5 vàjavascript
let myObject = null;
8 bằng nhaujavascript
let myObject = null;
3javascript
let myObject = null;
Tôi sử dụng toán tử đẳng thức lỏng lẻo để kiểm tra xem một biến là
5 hayjavascript
let myObject = null;
8javascript
let myObject = null;
4javascript
let myObject = null;
6. Tóm lược
5 là một giá trị đặc biệt trong JavaScript đại diện cho một đối tượng bị thiếujavascript
let myObject = null;
Toán tử đẳng thức nghiêm ngặt xác định xem một biến có phải là null hay không.
02javascript
let myObject = null;
Toán tử
03 rất hữu ích để xác định loại biến [số, chuỗi, boolean]. Tuy nhiên,javascript
let myObject = null;
05 gây hiểu lầm trong trường hợp củajavascript
let myObject = null;
5.javascript
let myObject = null;
06 đánh giá thànhjavascript
let myObject = null;
00javascript
let myObject = null;
5 vàjavascript
let myObject = null;
8 bằng cách nào đó tương đương, tuy nhiên,javascript
let myObject = null;
5 đại diện cho một đối tượng bị thiếu, trong khi trạng thái chưa được khởi tạo củajavascript
let myObject = null;
8javascript
let myObject = null;
Tránh nếu có thể trả về
5 hoặc đặt biến thànhjavascript
let myObject = null;
5. Thực tiễn này dẫn đến việc lan truyền các giá trị null và xác minh chojavascript
let myObject = null;
5. Thay vào đó, hãy thử sử dụng các đối tượng có thuộc tính mặc định hoặc thậm chí ném lỗijavascript
let myObject = null;
Đã thành thạo
5, tại sao không thành thạojavascript
let myObject = null;
8?javascript
let myObject = null;
Bạn sử dụng điều kiện nào để kiểm tra
5?javascript
let myObject = null;
Thích bài viết?
đề xuất cải tiến
Bài đăng chất lượng vào hộp thư đến của bạn
Tôi thường xuyên xuất bản bài viết có chứa
- Các khái niệm JavaScript quan trọng được giải thích bằng các từ đơn giản
- Tổng quan về các tính năng JavaScript mới
- Cách sử dụng TypeScript và cách gõ
- Thiết kế phần mềm và thực hành mã hóa tốt
Đăng ký nhận bản tin của tôi để nhận chúng ngay trong hộp thư đến của bạn
Đặt muaTham gia cùng 6845 người đăng ký khác
Giới thiệu về Dmitri Pavlutin
Nhà văn và huấn luyện viên công nghệ. Thói quen hàng ngày của tôi bao gồm [nhưng không giới hạn] uống cà phê, viết mã, viết, huấn luyện, vượt qua sự nhàm chán 😉