Kiểm tra JS cho Null – Giải thích về kiểm tra Null trong JavaScript


Null là một kiểu nguyên thủy trong JavaScript. Điều này có nghĩa là bạn phải có khả năng kiểm tra xem một biến có null với typeof() phương pháp. Nhưng thật không may, điều này trả về “đối tượng” do một lỗi lịch sử không thể sửa được.

let userName = null;

console.log(typeof(userName)); // object

Vì vậy, làm thế nào bây giờ bạn có thể kiểm tra null? Bài viết này sẽ hướng dẫn bạn cách kiểm tra giá trị rỗng, cùng với sự khác biệt giữa loại JavaScript null và không xác định.

Null vs Undefined trong JavaScript

Null và undefined rất giống nhau trong JavaScript và đều là các kiểu nguyên thủy.

Một biến có kiểu null nếu nó cố ý chứa giá trị của null. Ngược lại, một biến có kiểu undefined khi bạn khai báo nó mà không bắt đầu một giá trị.

// This is null
let firstName = null;

// This is undefined
let lastName;

Không xác định hoạt động tốt vì khi bạn kiểm tra loại bằng cách sử dụng typeof() phương pháp, nó sẽ trở lại undefined:

let lastName;

console.log(typeof(lastName)); // undefined

Bây giờ chúng ta hãy xem hai cách chính mà bạn có thể kiểm tra null và làm thế nào nó liên quan đến undefined.

Cách kiểm tra Null trong JavaScript bằng toán tử đẳng thức

Các toán tử đẳng thức cung cấp cách tốt nhất để kiểm tra null. Bạn có thể sử dụng toán tử đẳng thức lỏng/kép (==) hoặc toán tử nghiêm ngặt/ba đẳng thức (===).

Đọc thêm  Cách tạo mã thông báo biểu thức toán học bằng JavaScript (hoặc bất kỳ ngôn ngữ nào khác)

Cách sử dụng toán tử đẳng thức lỏng lẻo để kiểm tra null

Bạn có thể sử dụng toán tử đẳng thức lỏng lẻo để kiểm tra null giá trị:

let firstName = null;

console.log(firstName == null); // true

Tuy nhiên, điều này có thể phức tạp vì nếu biến không được xác định, nó cũng sẽ trả về true bởi vì cả hai nullundefined lỏng lẻo bằng nhau.

let firstName = null;
let lastName;

console.log(firstName == null); // true
console.log(lastName == null); // true
console.log(firstName == undefined); // true
console.log(lastName == undefined); // true
console.log(firstName == lastName); // true
console.log(null == undefined); // true

Ghi chú: Điều này có thể hữu ích khi bạn muốn kiểm tra xem một biến không có giá trị hay không vì khi một biến không có giá trị, nó có thể null hoặc undefined.

Nhưng giả sử bạn chỉ muốn kiểm tra null – thì bạn có thể sử dụng toán tử đẳng thức nghiêm ngặt.

Cách sử dụng toán tử đẳng thức nghiêm ngặt để kiểm tra null

Toán tử đẳng thức nghiêm ngặt, so với toán tử đẳng thức lỏng lẻo, sẽ chỉ trả về true khi bạn có chính xác một null giá trị. Nếu không, nó sẽ trở lại false (điêu nay bao gôm undefined).

let firstName = null;
let lastName;

console.log(firstName === null); // true
console.log(lastName === null); // false
console.log(firstName === undefined); // false
console.log(lastName === undefined); // true
console.log(firstName === lastName); // false
console.log(null === undefined); // false

Như bạn có thể thấy, nó chỉ trả về true khi một biến null được so sánh với nullvà một biến không xác định được so sánh với undefined.

Cách kiểm tra Null trong JavaScript với Object.is() Phương pháp

Object.is() là một phương thức ES6 xác định xem hai giá trị có giống nhau hay không. Điều này hoạt động giống như toán tử bình đẳng nghiêm ngặt.

// Syntax
Object.is(value1, value2)

Hãy sử dụng ví dụ trước để xem liệu nó có hoạt động giống như toán tử đẳng thức nghiêm ngặt không:

let firstName = null;
let lastName;

console.log(Object.is(firstName, null)); // true
console.log(Object.is(lastName, null)); // false
console.log(Object.is(firstName, undefined)); // false
console.log(Object.is(lastName, undefined)); // true
console.log(Object.is(firstName, lastName)); // false
console.log(Object.is(null, undefined)); // false

Điều này xảy ra vì nó chỉ trả về true khi cả hai giá trị đều giống nhau. Điều này có nghĩa là nó sẽ chỉ trở lại true khi một biến được đặt thành null được so sánh với nullvà một biến không xác định được so sánh với undefined.

Phần kết luận

Bây giờ bạn đã biết cách tự tin kiểm tra null. Bạn cũng có thể kiểm tra xem một biến có được đặt thành null hoặc undefinedvà bạn biết sự khác biệt giữa toán tử đẳng thức lỏng lẻo và nghiêm ngặt.

Đọc thêm  Trả về Javascript không hoạt động - JavaScript

Tôi hy vọng nó sẽ có ích. Hãy mã hóa vui vẻ!



Zik.vn – Biên dịch & Biên soạn Lại

spot_img

Create a website from scratch

Just drag and drop elements in a page to get started with Newspaper Theme.

Buy Now ⟶

Bài viết liên quang

DMCA.com Protection Status