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

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

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

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

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

Number.isInteger(giatri);

giatri: Giá trị truyền vào nếu là số nguyên thì trả về true, ngược lại trả về false (Ví dụ: 0, 35, -35,......)

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

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

Kết quả:

true
true
true
false
false
false
false

Chạy Thử

So sánh Number.isInteger() với các cách kiểm tra số nguyên khác trong JavaScript

Trong JavaScript, có nhiều cách xác định một giá trị có phải số nguyên hay không. Tuy nhiên, mỗi phương pháp có cách xử lý kiểu dữ liệu và phạm vi kiểm tra khác nhau. Number.isInteger() thường là lựa chọn rõ ràng nhất khi chỉ cần xác định một giá trị có phải số nguyên hay không.

Number.isInteger() khác gì với Number.isSafeInteger()?

Number.isInteger() kiểm tra xem giá trị có phải là số nguyên hay không, trong khi Number.isSafeInteger() kiểm tra thêm điều kiện số đó phải nằm trong phạm vi số nguyên an toàn mà JavaScript có thể biểu diễn chính xác.

console.log(Number.isInteger(100000000000000000000)); // true
console.log(Number.isSafeInteger(100000000000000000000)); // false

console.log(Number.isInteger(100)); // true
console.log(Number.isSafeInteger(100)); // true

Vì vậy, nếu chỉ quan tâm đến việc một giá trị có phần thập phân hay không, Number.isInteger() là phù hợp. Khi dữ liệu được dùng cho các phép tính yêu cầu độ chính xác của số nguyên, nên cân nhắc Number.isSafeInteger().

Number.isInteger() khác gì với phép chia lấy dư (%)?

Phép chia lấy dư % có thể được dùng để kiểm tra một số có chia hết cho 1 hay không, nhưng cách này không trực tiếp thể hiện mục đích kiểm tra kiểu dữ liệu như Number.isInteger().

const value = 25;

console.log(Number.isInteger(value)); // true
console.log(value % 1 === 0); // true

Với cách dùng % 1, cần tự xây dựng điều kiện và chú ý đến kiểu dữ liệu đầu vào. Trong khi đó, Number.isInteger() được thiết kế riêng cho việc kiểm tra số nguyên và không tự chuyển đổi chuỗi thành số.

console.log(Number.isInteger("25")); // false
console.log("25" % 1 === 0); // true

Điều này khiến Number.isInteger() dễ đọc và ít gây nhầm lẫn hơn khi xử lý dữ liệu có thể chứa nhiều kiểu giá trị khác nhau.

Khi nào nên sử dụng Number.isInteger() trong JavaScript?

Nên sử dụng Number.isInteger() khi cần kiểm tra trực tiếp một giá trị có phải số nguyên hay không, đặc biệt trong các điều kiện xác thực dữ liệu.

function checkQuantity(quantity) {
    if (!Number.isInteger(quantity) || quantity < 1) {
        return "Số lượng không hợp lệ";
    }

    return "Số lượng hợp lệ";
}

console.log(checkQuantity(5)); // Số lượng hợp lệ
console.log(checkQuantity(5.5)); // Số lượng không hợp lệ
console.log(checkQuantity("5")); // Số lượng không hợp lệ

Cách kiểm tra này phù hợp với các giá trị như số lượng sản phẩm, vị trí phần tử, số lần lặp hoặc các tham số bắt buộc phải là số nguyên. Nếu cần giới hạn cả phạm vi giá trị an toàn, có thể kết hợp với Number.isSafeInteger() để kiểm tra chặt chẽ 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.isInteger() 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.isInteger() 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) !