Có HAI điều bạn cần hiểu về không xác định ...
- các loại
undefined
mà có thể chỉ có một giá trị .
- các biến
undefined
Bây giờ hãy đọc những điều sau đây thật cẩn thận ...
Có rất nhiều giá trị của loại number
(10, 10.01, 1e1). Nhưng chỉ có thể có một giá trị loại undefined
và giá trị đó được lưu trữ trong biến undefined
. Giá trị đó có đại diện NO đen - ví dụ, các giá trị số 1
, 100
, 1e-1
đều literals số loại, nhưng giá trị được lưu trữ trong biến undefined
không có hình chữ.
undefined
là một biến, chỉ là một biến thông thường, JavaScript khai báo và gán cho nó giá trị của kiểu undefined
trong phạm vi toàn cục. Vì vậy, bạn có thể làm tất cả những điều sau đây ...
loại không xác định; // "chưa xác định"
không xác định = 100;
loại không xác định; // "con số"
không xác định = void 0;
loại không xác định; // "chưa xác định"
window.und xác định === không xác định; // thật
window.und xác định === void 0; // thật
- nếu bạn không muốn sử dụng biến
undefined
, bạn có thể tạo giá trị của loại undefined
theo biểu thức void 0
- mục đích duy nhất của nó là trả về giá trị của loại undefined
.
... bất cứ ai có thể giải thích cho tôi tại sao điều này đã được chèn vào JavaScript ...
KHÔNG. Giống như không ai có thể giải thích tại sao các biến không được khai báo đi đến phạm vi toàn cầu thay vì cục bộ. Bạn chỉ cần rèn luyện bản thân để sử dụng nó một cách thông minh thay vì cố gắng tìm ra lời biện minh cho sự tồn tại của nó.
... chúng tôi có giá trị null ...
Mặc dù null
có thể làm mọi thứ undefined
, nhưng nó ít nhiều liên quan đến objects
hơn là vô hướng. Thật vậy, JavaScript null
tự coi mình là một đối tượng - typeof null
trả về "đối tượng".
Theo tôi, điểm mấu chốt là KHÔNG cố gắng suy luận các mục đích tuyệt đối undefined
và null
- và sử dụng chúng trong mã của bạn một cách thông minh, để mã của bạn có thể đọc được, có thể duy trì và có thể sử dụng lại.
undefined
và khi nào nên sử dụngnull