Trong JavaScript, null
và undefined
đều biểu thị sự vắng mặt của giá trị, nhưng chúng có những ý nghĩa và cách sử dụng khác nhau. undefined
được tự động gán cho các biến chưa được khởi tạo, trong khi null
là một giá trị rỗng được lập trình viên gán có chủ đích. Hiểu rõ sự khác biệt giữa hai khái niệm này là điều quan trọng để viết mã hiệu quả và tránh lỗi trong quá trình phát triển.
undefined
trong JavaScriptundefined
biểu thị rằng một biến đã được khai báo nhưng chưa được gán giá trị. Điều này cũng xảy ra khi bạn truy cập vào một thuộc tính hoặc biến mà không có giá trị.
undefined
Khi khai báo biến nhưng chưa gán giá trị:
undefined
Truy cập thuộc tính không tồn tại trong đối tượng sẽ trả về undefined
:
null
Dùng null
khi cố ý gán giá trị trống cho một biến để sau này có thể gán giá trị khác:
null
null
có kiểu là "object"
:
==
Tuy nhiên, khi sử dụng toán tử nghiêm ngặt ===
, chúng không được coi là giống nhau vì khác loại dữ liệu:
console.log(null === undefined); // false
null
và undefined
?Sử dụng undefined
khi biến chưa được khởi tạo hoặc khi cần kiểm tra xem biến đã được gán giá trị hay chưa. Sử dụng null
khi bạn cần khởi tạo biến hoặc đối tượng với một giá trị rỗng có chủ đích, và sau đó sẽ gán giá trị thực cho biến hoặc thuộc tính này.
Ví dụ khi làm việc với API, bạn có thể gặp null
để chỉ sự vắng mặt của dữ liệu trong cơ sở dữ liệu, trong khi undefined
có thể xuất hiện khi một biến chưa được khởi tạo hoặc thuộc tính không tồn tại.
null
và undefined
đều thể hiện sự vắng mặt của giá trị, nhưng null
là giá trị được gán có chủ ý bởi lập trình viên, còn undefined
xuất hiện khi biến chưa được khởi tạo hoặc không có giá trị.