Null và Undefined Trong JavaScript

Trong JavaScript, hai khái niệm`null `và `undefined` thường gây ra sự nhầm lẫn cho nhiều lập trình viên, đặc biệt là những người mới học. Trong bài viết này, chúng ta sẽ cùng tìm hiểu chi tiết về sự khác nhau giữa null và undefined, cách sử dụng chúng, và những trường hợp phổ biến mà bạn sẽ gặp phải.

Null và Undefined Trong JavaScript
Null và Undefined Trong JavaScript

lưu ý: bạn có 1 cái nồi cơm đã nấu chính, nếu có cơm bên trong nồi cơm, tức là có giá trị. nếu nồi cơm mà không có cơm bên trong thì tức là undefined ( khai báo nhưng không có giá trị ), nếu không có cả nổi cơm thì tức là null

Undefined là gì?

undefined là một giá trị được tự động gán cho các biến đã được khai báo nhưng chưa được khởi tạo giá trị. Nói cách khác, khi bạn tạo ra một biến mới mà không gán giá trị nào cho nó, biến đó sẽ có giá trị là undefined.


Ví Dụ: 
let x; // x đã khai báo, nhưng chưa gán giá trị nào thì typeof của nó sẽ tự dộng hiểu là undefined
let y = "hello";  // y đã được khai báo, và cũng gán giá trị, giá trị của y là dạng string, nên khi kiểm tra tra kiểu dữ liệu thì nó ra string
console.log(x); // Output: undefined
console.log(typeOf y); // Output TypeOf: String
  • Trong ví dụ trên, biến x được khai báo nhưng chưa được khởi tạo giá trị, nên giá trị của nó là undefined.
  • Ngoài ra, undefined cũng được trả về khi bạn truy cập vào một thuộc tính của một đối tượng không tồn tại:


Ví Dụ 2: 
let obj = { name: 'John' };
console.log(obj.age); // Output: undefined
  • Trong ví dụ này, đối tượng obj không có thuộc tính age, do đó khi truy cập vào obj.age, kết quả là undefined.

null là gì?

null là một giá trị đặc biệt đại diện cho "không có giá trị" hoặc "không có đối tượng". null thường được sử dụng để gán giá trị cho các biến mà bạn muốn biểu thị rằng biến đó không có giá trị hoặc sẽ được khởi tạo sau.

Ví Dụ: 
let y = null;
console.log(y); // Output: null
  • Trong ví dụ trên, biến y được gán giá trị là null, biểu thị rằng nó không có giá trị.

Sự khác biệt giữa null và undefined

Mặc dù null undefined đều biểu thị sự vắng mặt của giá trị, nhưng chúng có những khác biệt quan trọng:

1.Khởi tạo biến:

  • undefined được tự động gán cho các biến đã khai báo nhưng chưa khởi tạo giá trị.
  • null là giá trị mà lập trình viên phải tự gán cho biến.

2.Kiểu dữ liệu:

  • undefined là một kiểu dữ liệu riêng biệt.
  • null có kiểu dữ liệu là đối tượng (object).
Ví dụ kiểm tra kiểu dữ liệu:
console.log(typeof undefined); // Output: undefined
console.log(typeof null); // Output: object

3. Sử dụng trong điều kiện:

  • Cả nullundefined đều được đánh giá là "false" trong các điều kiện logic
let a;
if (a) {
  console.log('a is defined');
} else {
  console.log('a is not defined'); // Output: a is not defined
}

let b = null;
if (b) {
  console.log('b is not null');
} else {
  console.log('b is null'); // Output: b is null
}

4. So sánh bằng dấu bằng (==) và dấu bằng ba (===):

  • `==` kiểm tra sự bằng nhau không nghiêm ngặt, vì vậy null và undefined được coi là bằng nhau.
  • `===` kiểm tra sự bằng nhau nghiêm ngặt, vì vậy null và undefined không được coi là bằng nhau.
Ví dụ so sánh:
console.log(null == undefined); // Output: true
console.log(null === undefined); // Output: false

Kết luận

Hiểu rõ sự khác biệt giữa nullundefined là rất quan trọng trong việc viết mã JavaScript hiệu quả và tránh các lỗi logic. undefined biểu thị rằng một biến đã được khai báo nhưng chưa được khởi tạo giá trị, trong khi null được lập trình viên sử dụng để biểu thị rằng một biến không có giá trị hoặc sẽ được khởi tạo sau. Hy vọng rằng bài viết này đã giúp bạn nắm rõ hơn về hai khái niệm này và cách sử dụng chúng một cách hiệu quả trong JavaScript.

Design by @KiMiDev

Đăng nhận xét

Cảm ơn bạn đã nhận xét, chúng tôi sẽ quay lại và trả lời cho bạn sớm nhất có thể !!!

Mới hơn Cũ hơn

Nhận xét Mới