Comment vérifier si un paramètre JavaScript est un nombre?

Je fais des pannes et je souhaite ajouter un contrôle qu'un paramètre d'une fonction est un nombre. Comment puis-je faire cela?

Quelque chose comme ça…

function fn(id) { return // true iff id is a number else false } 

Encore mieux est si je peux vérifier que le paramètre est un nombre ET un entier valide.

 function fn(id) { return typeof(id) === 'number'; } 

Pour vérifier si c'est un nombre entier:

 function fn(id) { return typeof(id) === 'number' && isFinite(id) && Math.round(id) === id; } 

Je dirais

  n === parseInt(n) 

est assez. Notez trois '===' – il vérifie le type et la valeur

Vérifiez si le type est le numéro et s'il s'agit d'un int en utilisant parseInt :

if (typeof id == "number" && id == parseInt(id))

=== signifie strictement égal à et == vérifie si les valeurs sont égales. Cela signifie "2" == 2 est vrai mais "2" === 2 est faux.

En utilisant une expression régulière

 var intRegex = /^\d+$/; if(intRegex.test(num1)) { //num1 is a valid integer } 

Exemple de == vs ===

 function fn(id){ if((parseFloat(id) == parseInt(id)) && !isNaN(id)){ return true; } else { return false; } }