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

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

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

Phương thức tĩnh Number.isSafeInteger() trong JavaScript dùng để kiểm tra giá trị truyền vào có phải là số nguyên an toàn hay không, số nguyên phải nằm trong khoảng -9007199254740991 đến 9007199254740991 thì mới được cho là an toàn.

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

Number.isSafeInteger(giatri);

giatri: Giá trị truyền vào phải là số nguyên và nằm trong khoảng -9007199254740991 đến 9007199254740991 thì được cho là số nguyên an toàn, nếu số nguyên không nằm trong khoảng này thì không phải là số nguyên an toàn.

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

Number.isSafeInteger(35);
<script>
document.write(Number.isSafeInteger(35)+"<br>"); // Kết quả: true
document.write(Number.isSafeInteger(9007199254740991)+"<br>"); // Kết quả: true
document.write(Number.isSafeInteger(9007199254740990)+"<br>"); // Kết quả: true
document.write(Number.isSafeInteger(9007199254740992)+"<br>"); // Kết quả: false
document.write(Number.isSafeInteger(-9007199254740991 )+"<br>"); // Kết quả: true
document.write(Number.isSafeInteger(-9007199254740990 )+"<br>"); // Kết quả: true
document.write(Number.isSafeInteger(-9007199254740992 )+"<br>"); // Kết quả: false
document.write(Number.isSafeInteger("abc" )+"<br>"); // Kết quả: false
document.write(Number.isSafeInteger("123" )+"<br>"); // Kết quả: false
</script>

Kết quả:

true
true
true
false
true
true
false
false
false

Chạy Thử

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

Number.isSafeInteger() phù hợp khi chương trình cần xác nhận một giá trị vừa là số nguyên, vừa nằm trong phạm vi mà JavaScript có thể biểu diễn chính xác. Điều này đặc biệt hữu ích khi xử lý dữ liệu có giới hạn rõ ràng như mã số, số lượng, chỉ số hoặc các giá trị nguyên được truyền giữa ứng dụng và máy chủ.

Kiểm tra số nguyên trước khi thực hiện phép tính

Trước những phép tính yêu cầu dữ liệu nguyên và chính xác, có thể dùng Number.isSafeInteger() để loại bỏ các giá trị không phù hợp. Phương thức này giúp phát hiện cả số thập phân, chuỗi, giá trị quá lớn hoặc quá nhỏ so với phạm vi số nguyên an toàn.

const quantity = 250;

if (Number.isSafeInteger(quantity)) {
    console.log("Giá trị hợp lệ để tính toán");
}

Cách kiểm tra này giúp hạn chế lỗi khi dữ liệu đầu vào không đúng kiểu hoặc vượt quá khả năng biểu diễn chính xác của kiểu Number. Tuy nhiên, nếu phép tính cần xử lý các số nguyên lớn hơn giới hạn an toàn, nên cân nhắc sử dụng BigInt thay vì chỉ kiểm tra bằng phương thức này.

Phân biệt Number.isSafeInteger() với Number.isInteger()

Hai phương thức đều kiểm tra một giá trị có phải số nguyên hay không, nhưng mức độ kiểm tra khác nhau. Number.isInteger() chỉ quan tâm giá trị có thuộc dạng số nguyên, trong khi Number.isSafeInteger() còn yêu cầu số đó nằm trong phạm vi số nguyên an toàn.

const value = 9007199254740992;

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

Vì vậy, khi chỉ cần xác định một giá trị có phải số nguyên, Number.isInteger() là lựa chọn phù hợp. Khi độ chính xác của số nguyên có ý nghĩa đối với kết quả xử lý, Number.isSafeInteger() sẽ phù hợp hơn.

Kiểm tra giới hạn số nguyên an toàn trong JavaScript

JavaScript xác định phạm vi số nguyên an toàn từ Number.MIN_SAFE_INTEGER đến Number.MAX_SAFE_INTEGER. Đây là khoảng giá trị mà các số nguyên có thể được biểu diễn và so sánh chính xác bằng kiểu Number.

console.log(Number.isSafeInteger(Number.MAX_SAFE_INTEGER)); // true
console.log(Number.isSafeInteger(Number.MAX_SAFE_INTEGER + 1)); // false

Khi dữ liệu có khả năng tiến sát hoặc vượt qua giới hạn này, nên kiểm tra bằng Number.isSafeInteger() trước khi thực hiện các thao tác phụ thuộc vào độ chính xác tuyệt đối. Đây là cách đơn giản để phát hiện sớm những giá trị có nguy cơ gây sai lệch trong quá trình xử lý.

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.isSafeInteger() 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.isSafeInteger() 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) !