tôi một cách rõ ràng sẽ chọn null, không có một đối tượng có id sau đó sẽ bị ghi đè anyway:
var foo = {}; // empty object, has id etc.
var foo2 = null; // good practice, // filled with an object reference at a later time
var foo3;// undefined, I would avoid it
console.log(typeof foo);
console.log(typeof foo2);
console.log(typeof foo3);
null
cũng đảm bảo khả năng đọc tốt để xác định các kiểu dữ liệu (object), kết quả trong
object
object
undefined
Nguồn (JavaScript chuyên nghiệp dành cho nhà phát triển web 3rd Edition):
Khi xác định một biến có nghĩa là để giữ lại một đối tượng, nó là nên khởi tạo biến thành null thay vì bất cứ điều gì khác. Bằng cách đó, bạn rõ ràng có thể kiểm tra giá trị null để xác định xem biến đã được lấp đầy với một tham chiếu đối tượng tại một thời gian sau đó, chẳng hạn như trong ví dụ này:
if (foo2 != null){
//do something with foo2
}
Giá trị không xác định là một dẫn xuất của null, do ECMA-262 định nghĩa chúng là một cách hời hợt bình đẳng như sau:
console.log(null == undefined); // prints true
console.log(null === undefined);// prints false
Chỉ cần một lưu ý ... tôi nghĩ rằng ' "[đối tượng Null]"' kết quả của 'toString() 'có thể có một số không tương thích của trình duyệt. –