Sự khác biệt giữa null, undefined hoặc undeclared trong Javascript là gì?
Trong JavaScript, null, undefined, và undeclared là ba khái niệm khác nhau liên quan đến biến hoặc giá trị. Mỗi khái niệm có những đặc điểm riêng, và hiểu được sự khác biệt giữa chúng là rất quan trọng khi làm việc với JavaScript. Dưới đây là giải thích chi tiết:
1. undefined
undefined là giá trị mặc định mà JavaScript gán cho một biến khi biến đó đã được khai báo nhưng chưa được gán giá trị. Nó cũng có thể được trả về khi truy cập vào một thuộc tính không tồn tại của một đối tượng hoặc không truyền đối số cho một hàm mà hàm đó yêu cầu.
Đặc điểm:
Biến đã được khai báo nhưng chưa gán giá trị sẽ có giá trị undefined.
undefined là một kiểu dữ liệu trong JavaScript.
Truy cập một thuộc tính không tồn tại của một đối tượng cũng sẽ trả về undefined.
Ví dụ:
let x;
console.log(x); // undefined
let obj = {};
console.log(obj.name); // undefined
2. null
null là một giá trị rỗng (empty) hoặc không có giá trị (no value). Nó thường được sử dụng khi muốn cố ý chỉ định rằng một biến không có giá trị hoặc cần phải khởi tạo biến mà không có giá trị ngay lập tức. Không giống như undefined, null thường được gán thủ công bởi lập trình viên.
Đặc điểm:
null là một giá trị được lập trình viên cố ý gán để chỉ rằng không có giá trị.
null là một đối tượng trong JavaScript (kiểu dữ liệu object).
Ví dụ:
let y = null;
console.log(y); // null
3. undeclared
undeclared đề cập đến một biến chưa được khai báo. Nếu cố gắng truy cập một biến chưa được khai báo, JavaScript sẽ ném ra lỗi tham chiếu (ReferenceError). Điều này khác với undefined, nơi biến đã được khai báo nhưng chưa có giá trị.
Đặc điểm:
Một biến chưa được khai báo sẽ dẫn đến lỗi khi cố gắng truy cập vào nó.
Sử dụng từ khóa var, let, hoặc const để khai báo biến trước khi truy cập.
Ví dụ:
console.log(z); // ReferenceError: z is not defined
Tóm Tắt Sự Khác Biệt
Khái Niệm
Đã Khai Báo
Đã Gán Giá Trị
Giá Trị
Khi Truy Cập
undefined
Có
Chưa gán giá trị
undefined
Không có lỗi
null
Có
Có, cố ý gán
null
Không có lỗi
undeclared
Không
Không
Không tồn tại
Lỗi ReferenceError
Ví Dụ Minh Họa
// undefined
let a;
console.log(a); // undefined
// null
let b = null;
console.log(b); // null
// undeclared
console.log(c); // ReferenceError: c is not defined
Kết Luận
undefined: Mặc định khi biến được khai báo nhưng chưa có giá trị.
null: Giá trị rỗng do lập trình viên cố ý gán để biểu thị “không có giá trị”.
undeclared: Biến chưa được khai báo, khi truy cập sẽ gây lỗi.
Hiểu sự khác biệt này giúp bạn tránh các lỗi phổ biến và quản lý dữ liệu hiệu quả hơn trong JavaScript.
This website uses cookies so that we can provide you with the best user experience possible. Cookie information is stored in your browser and performs functions such as recognising you when you return to our website and helping our team to understand which sections of the website you find most interesting and useful.
Strictly Necessary Cookies
Strictly Necessary Cookie should be enabled at all times so that we can save your preferences for cookie settings.
If you disable this cookie, we will not be able to save your preferences. This means that every time you visit this website you will need to enable or disable cookies again.