jsNiekiedy może wydawać się, że w JavaScripcie jest wszystko, ale to tylko złudzenie. Bardzo podstawowym przykładem, który warto tutaj przytoczyć, jest sprawdzanie czy zmienna jest typu integer. Przedstawiam funkcję isInt(), której zadanie polega na interpretacji zmiennej w tym kontekście. O tym właśnie jest ten krótki artykuł. Wydawać się może, że podstawowe sprawdzenie typu zmiennej może być łatwe i przyjemne. Niekoniecznie.

Należy wziąć pod uwagę 3 rzeczy:
– czy mamy pewność, że typem sprawdzanej zmiennej jest Number,
– czy zmienna może być typu Float,
– czy ostatecznie mamy do czynienia z liczbą całkowitą.

function isInt(n) {
   return typeof n === 'number' && parseFloat(n) == parseInt(n, 10) && !isNaN(n);
}

Opiszmy funkcję od początku.

Jeżeli zmienna nie jest typu Number to nie jest również liczbą całkowitą.
Jeżeli zmienna jest typu Float to porównanie wartości zmiennoprzecinkowej z wartością dziesiętną da nam odpowiedź o zgodności.
Jeżeli w końcu zmienna nie jest not a number to mamy odpowiedź.

Wówczas zmienna ta jest liczbą całkowitą i zwracana jest wartość TRUE.

Jeśli posiadacie własne spostrzeżenia na ten temat, bądź lepsze rozwiązania tej kwestii, zachęcam do dyskusji w komentarzach. Być może istnieje jakaś lekka biblioteka, która ma zaimplementowane rozwiązanie tego problemu lub jakiś popularny framework (typu jQuery) ma to wbudowane?!