JavaScript isNaN() Fonksiyonu Nedir ve Nasıl Kullanılır?
JavaScript, dinamik ve güçlü bir programlama dili olarak, veri türlerini kontrol etmek ve doğrulamak için çeşitli fonksiyonlar sunar. Bu fonksiyonlardan biri de isNaN()
fonksiyonudur. isNaN(), bir değerin “Not-a-Number” (NaN) olup olmadığını kontrol etmek için kullanılan bir JavaScript fonksiyonudur.
Bu makalede isNaN()
fonksiyonunun ne olduğunu, nasıl çalıştığını, kullanım örneklerini ve dikkat edilmesi gereken noktaları anlatacağım.
isNaN() Fonksiyonu Nedir?
isNaN()
, bir değerin geçerli bir sayı olup olmadığını kontrol eder. Eğer değer bir sayı değilse veya bir matematiksel işlem yapılamayacak durumdaysa, true
döndürür. Aksi durumda, yani değer bir sayıysa, false
döner.
Kısaca:
true
döner → Değer NaN (Not-a-Number) ise.false
döner → Değer bir sayı ise.
Fonksiyonun temel söz dizimi şu şekildedir:
isNaN(value);
Parametre:
- value: Kontrol edilecek değer.
Dönen Değer:
- Boolean:
true
veyafalse
.
isNaN() Kullanımı ve Örnekler
Aşağıda isNaN()
fonksiyonunun kullanımını anlamanızı kolaylaştıracak örnekler verilmiştir:
Örnek 1: Basit Kullanım
console.log(isNaN(123)); // false (123 bir sayıdır)
console.log(isNaN("123")); // false ("123" sayıya dönüştürülebilir)
console.log(isNaN("abc")); // true ("abc" bir sayı değil)
console.log(isNaN(NaN)); // true (NaN bir sayı değil)
console.log(isNaN(undefined)); // true (undefined bir sayı değil)
Bu örnekten de anlaşılacağı gibi, sadece sayı olmayan değerler için isNaN()
fonksiyonu true
döndürür.
Örnek 2: Matematiksel İşlemlerle Kullanım
Bir değerin matematiksel işlemler için geçerli olup olmadığını kontrol etmek için isNaN()
kullanılabilir.
function divide(a, b) {
if (isNaN(a) || isNaN(b)) {
return "Hata: Geçersiz bir sayı girdiniz!";
}
return a / b;
}
console.log(divide(10, 2)); // 5
console.log(divide(10, "a")); // "Hata: Geçersiz bir sayı girdiniz!"
Bu örnekte, kullanıcıdan alınan değerlerin matematiksel bir işlem için uygun olup olmadığı kontrol edilmiştir.
Örnek 3: Karakter Kontrolü
Bir string’in içeriğinin sadece sayı olup olmadığını kontrol etmek için isNaN()
fonksiyonunu kullanabilirsiniz.
function sadeceSayiMi(deger) {
return !isNaN(deger);
}
console.log(sadeceSayiMi("123")); // true
console.log(sadeceSayiMi("12.3")); // true
console.log(sadeceSayiMi("abc")); // false
console.log(sadeceSayiMi("12abc")); // false
isNaN() ve Global Number.isNaN() Farkı
JavaScript’te isNaN()
fonksiyonunun yanı sıra, ES6 ile birlikte tanıtılan Number.isNaN()
fonksiyonu da bulunmaktadır. Bu iki fonksiyon benzer görünebilir, ancak önemli farkları vardır.
Global isNaN()
isNaN()
herhangi bir değeri kontrol eder ve bu değeri önce sayıya dönüştürmeye çalışır. Eğer dönüştürülen değer NaN ise true
döner.
console.log(isNaN("123abc")); // true (string sayıya çevrilemez)
console.log(isNaN("123")); // false (string bir sayıya çevrilebilir)
Number.isNaN()
Number.isNaN()
ise, yalnızca gerçekten NaN
olan değerler için true
döner. Tip dönüşümü yapmaz.
console.log(Number.isNaN("123abc")); // false
console.log(Number.isNaN(NaN)); // true
console.log(Number.isNaN(123)); // false
Bu fark, özellikle karmaşık uygulamalarda büyük önem taşır.
isNaN() Kullanımında Dikkat Edilmesi Gerekenler
isNaN()
fonksiyonunu kullanırken aşağıdaki durumlara dikkat etmelisiniz:
1. Tip Dönüşümü:isNaN()
, verilen değeri önce sayıya dönüştürmeye çalışır. Bu nedenle bazen beklenmeyen sonuçlar ortaya çıkabilir. Örneğin:
console.log(isNaN(" ")); // false (boşluk string'i 0'a dönüştürülür)
console.log(isNaN(true)); // false (true 1'e dönüştürülür)
2. Gerçek NaN Kontrolü İçin Number.isNaN:
Eğer sadece NaN
olan durumları kontrol etmek istiyorsanız, Number.isNaN()
kullanmalısınız.
3. Karmaşık Kontroller:
Sayı olup olmadığını kontrol etmek için isNaN()
tek başına yeterli olmayabilir. Örneğin, string içinde sayı olup olmadığını kontrol etmek için regex veya başka yöntemler gerekebilir.
JavaScript’te isNaN()
fonksiyonu, bir değerin sayı olup olmadığını kontrol etmek için oldukça kullanışlıdır. Ancak, fonksiyonun tip dönüşümü yaptığı unutulmamalı ve gerektiğinde Number.isNaN()
gibi daha kesin kontroller kullanılmalıdır. Yukarıdaki örneklerde de görüldüğü gibi, isNaN()
çeşitli durumlarda pratik bir çözümdür ve doğru kullanıldığında kodunuzu daha güvenli hale getirebilir.
Eğer JavaScript öğrenmeye yeni başladıysanız, isNaN()
fonksiyonunu anlamak, veri doğrulama işlemlerinizde size büyük kolaylık sağlayacaktır. Siz de yukarıdaki örnekleri kendi projelerinizde kullanarak pratiğinizi artırabilirsiniz.
Javascript ile Tüm “Sayı” Metodlarını Anlattığım Yazıyı Buradan İnceleyebilirsiniz.
Bir Yorum Yazın