Phương thức tĩnh Number.isFinite() trong JavaScript

Phương thức tĩnh Number.isFinite() trong JavaScript
Phương thức tĩnh Number.isFinite() trong JavaScript

Chức năng của Phương thức tĩnh Number.isFinite() trong JavaScript

Phương thức tĩnh Number.isFinite() trong JavaScript dùng để kiểm tra giá trị truyền vào có phải là một số hay không, nếu là số thì trả về true, nếu không phải là số thì trả về false, nó thực hiện kiểm tra mà không chuyển đổi giá trị về số trước như hàm isFinite().

Cú pháp của Phương thức tĩnh Number.isFinite() trong JavaScript

Number.isFinite(giatri);

giatri: Giá trị truyền vào là một số thì trả về true, ngược lại trả về false (Ví dụ: 2, 0, -2, 35.6, -35.2,......)

Code Phương thức tĩnh Number.isFinite() trong JavaScript

Number.isFinite(35);
<script>
document.write(Number.isFinite(35)+"<br>"); // Kết quả: true
document.write(Number.isFinite(-35)+"<br>"); // Kết quả: true
document.write(Number.isFinite(0)+"<br>"); // Kết quả: true
document.write(Number.isFinite("35")+"<br>"); // Kết quả: false
document.write(Number.isFinite(null)+"<br>"); // Kết quả: false (null không phải là số)
document.write(Number.isFinite("35abc")+"<br>"); // Kết quả: false (kiểu chuỗi không phải là số)
document.write(Number.isFinite("abc")+"<br>"); // Kết quả: false (kiểu chuỗi không phải là số)
</script>

Kết quả:

true
true
true
false
false
false
false

Chạy Thử

Ứng dụng Number.isFinite() trong xử lý dữ liệu JavaScript

Number.isFinite() hữu ích khi chương trình cần xác định một giá trị có thực sự là số hữu hạn trước khi tiếp tục xử lý. Cách kiểm tra này đặc biệt phù hợp với dữ liệu nhận từ biểu mẫu, phép tính hoặc các nguồn có thể chứa giá trị không hợp lệ.

Kiểm tra dữ liệu đầu vào trước khi thực hiện phép tính

Trước khi cộng, trừ, nhân hoặc chia, có thể dùng Number.isFinite() để đảm bảo giá trị nhận được là một số hữu hạn. Nhờ đó, chương trình hạn chế việc thực hiện phép tính trên NaN, Infinity hoặc các kiểu dữ liệu không phù hợp.

const price = 250000;
const quantity = 3;

if (Number.isFinite(price) && Number.isFinite(quantity)) {
    const total = price * quantity;
    console.log(total);
}

Cách làm này giúp điều kiện xử lý rõ ràng hơn, đặc biệt khi dữ liệu được tạo ra từ nhiều nguồn khác nhau.

Kết hợp Number.isFinite() với điều kiện if để xử lý giá trị không hợp lệ

Có thể dùng Number.isFinite() ngay trong câu lệnh if để tách trường hợp dữ liệu hợp lệ và không hợp lệ. Khi giá trị không đạt yêu cầu, chương trình có thể dừng xử lý hoặc đưa ra giá trị thay thế.

const amount = Number(inputValue);

if (Number.isFinite(amount)) {
    console.log("Dữ liệu hợp lệ:", amount);
} else {
    console.log("Dữ liệu không hợp lệ");
}

Điểm quan trọng là Number.isFinite() không tự chuyển đổi chuỗi thành số. Vì vậy, nếu dữ liệu ban đầu là chuỗi số, có thể chuyển đổi trước rồi mới kiểm tra kết quả.

Phân biệt Number.isFinite() với isFinite() khi kiểm tra dữ liệu

Number.isFinite()isFinite() đều được dùng để kiểm tra một giá trị có phải số hữu hạn hay không, nhưng cách xử lý kiểu dữ liệu khác nhau. Number.isFinite() chỉ trả về true khi giá trị thực sự thuộc kiểu number và là số hữu hạn.

console.log(Number.isFinite(100));       // true
console.log(Number.isFinite("100"));     // false
console.log(Number.isFinite(Infinity));  // false

Trong khi đó, isFinite() có thể thực hiện chuyển đổi kiểu trước khi kiểm tra. Vì vậy, khi muốn kiểm tra nghiêm ngặt dữ liệu số mà không phát sinh chuyển đổi ngầm, Number.isFinite() thường là lựa chọn dễ kiểm soát hơn.

Lời kết

Cảm ơn các bạn đã tham khảo bài viết Phương thức tĩnh Number.isFinite() trong JavaScript.

  • 0 Bình luận
CEO Bùi Tấn Lực | Founder Web Mới
Bùi Tấn Lực
Tìm hiểu về CEO Bùi Tấn Lực, Founder Web Mới với nhiều năm kinh nghiệm trong lĩnh vực phát triển website, SEO và chia sẻ kiến thức công nghệ
Đánh giá
Chia sẻ nội dung đánh giá của bạn về Phương thức tĩnh Number.isFinite() trong JavaScript
Email, Điện thoại của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *
Đánh giá của bạn
Tên *
Email
Số điện thoại *
Bình luận, Hỏi đáp
Yêu Cầu Báo Giá
Gửi trang web mẫu cần làm theo, chúng tôi sẽ báo giá đến bạn từ Email (tanlucit09@gmail.com - Bùi Tấn Lực) hoặc Zalo (Lực IT - 0398259259) !