Il metodo Number.isSafeInteger() di Javascript
Il metodo Number.isSafeInteger() verifica se un valore è un numero intero sicuro (safe integer).
Number.isSafeInteger(x)
Dove x è il numero che voglio verificare.
Il metodo restituisce true se il numero x è un numero intero sicuro. Altrimenti restituisce false.
Cos'è un numero intero sicuro? Secondo lo standard ECMAScript un numero intero è sicuro se si può rappresentare in Javascript senza perdita di precisione. In Javascript sono numeri interi sicuri i valori compresi tra -253-1 e 253-1. Ovvero ±9.007.199.254.740.991. Al di fuori di questo intervallo i numeri interi sono soggetti a perdita di precisione in Javascript.
Il metodo restituisce false anche se l'argomento non è un valore numerico (es. una stringa o un simbolo) o se non è un numero intero.
Un esempio
Questo script verifica se la variabile num contiene un numero intero sicuro
<script>
let num = 131;
y=Number.isSafeInteger(num);
document.write(y);
</script>
Il risultato del metodo isSafeInteger(num) è true, perché la variabile num è un numero intero ed è compreso nell'intervallo -253-1 e 253-1
Pertanto è un numero intero sicuro.
true
Esempio 2
Ecco un altro esempio.
<script>
let num = 2**53;
y=Number.isSafeInteger(num);
document.write(y);
</script>
In questo caso il metodo isSafeInteger(num) restituisce false, perché il numero è al di fuori del range -253-1 e 253-1
false
Quindi, non è un numero intero sicuro.
E così via.