Sự khác biệt
1. undefined
chỉ ra rằng một biến đã được khai báo nhưng không được gán cho bất kỳ giá trị nào, kể cả null
.
let foo;
console.log(foo); // undefined
null
được sử dụng để chỉ ra rằng một biến không có giá trị.
let foo = null;
console.log(foo); // null
2. undefined
và null
được coi là các loại khác nhau.
undefined
là một kiểu chính nó, trong khi null
là một giá trị đặc biệt của đối tượng.
console.log(typeof undefined); // 'undefined'
console.log(typeof null); // 'object'
Vì chúng là các kiểu khác nhau, đây là kết quả của các toán tử so sánh khi so sánh chúng với nhau:
null == undefined; // true
null === undefined; // false
Tốt để biết
JSON.stringify
bỏ qua undefined
, nhưng giữ null
:
JSON.stringify({
name: 'John',
address: null,
age: undefined,
});
// {"name":"John","address":null}