--- title: Number.isSafeInteger() slug: Web/JavaScript/Reference/Objets_globaux/Number/isSafeInteger tags: - ECMAScript 2015 - JavaScript - Méthode - Number - Reference - polyfill translation_of: Web/JavaScript/Reference/Global_Objects/Number/isSafeInteger ---
La méthode Number.isSafeInteger()
permet de déterminer si la valeur, passée en argument, est un entier représentable correctement en JavaScript (c'est-à-dire un nombre compris entre -(253 -1) et 253 -1).
Le code source de cet exemple interactif est disponible dans un dépôt GitHub. Si vous souhaitez contribuez à ces exemples, n'hésitez pas à cloner https://github.com/mdn/interactive-examples et à envoyer une pull request !
Note : Pour représenter des entiers qui ne sont pas compris dans cet intervalle, on pourra utiliser le type {{jsxref("BigInt")}}.
Number.isSafeInteger(valeurÀTester)
valeurÀTester
-(253-1)
et 253 -1
(c'est-à-dire ± 9007199254740991
).Un booléen qui indique si la valeur fournie en argument est un entier représentable correctement en JavaScript.
Un entier correctement représentable en JavaScript :
Ainsi, par exemple, 253 - 1
peut être représenté correctement, aucun autre entier ne peut être arrondi en cette valeur selon IEEE-754. En revanche, 253
ne peut pas être représenté correctement car 253 + 1
sera arrondi en 253
selon les règles IEEE-754 (arrondi à l'entier le plus proche).
L'intervalle des entiers qui peuvent être correctement représentés est [-(253 - 1),253 - 1
].
Number.isSafeInteger(3); // true Number.isSafeInteger(Math.pow(2, 53)) // false Number.isSafeInteger(Math.pow(2, 53) - 1) // true Number.isSafeInteger(NaN); // false Number.isSafeInteger(Infinity); // false Number.isSafeInteger("3"); // false Number.isSafeInteger(3.1); // false Number.isSafeInteger(3.0); // true
Spécification | État | Commentaires |
---|---|---|
{{SpecName('ES2015', '#sec-number.issafeinteger', 'Number.isSafeInteger')}} | {{Spec2('ES2015')}} | Définition initiale. |
{{SpecName('ESDraft', '#sec-number.issafeinteger', 'Number.isSafeInteger')}} | {{Spec2('ESDraft')}} |
Le tableau de compatibilité de cette page a été généré à partir de données structurées. Si vous souhaitez contribuer à ces données, n'hésitez pas à envoyer une pull request sur https://github.com/mdn/browser-compat-data.
{{Compat("javascript.builtins.Number.isSafeInteger")}}