Şimdi yükleniyor

JavaScript isNaN() Fonksiyonu Nedir ve Nasıl Kullanılır?

JavaScript ile isnan Metodu Detaylı Anlatım

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.

JavaScript-ile-isnan-Metodu-Detayli-Anlatim-2 JavaScript isNaN() Fonksiyonu Nedir ve Nasıl Kullanılır?

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 veya false.

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.


Yukarıda paylaştığım kodların çalışan bir örneğini aşağıda ki bağlantılardan inceleyebilirsiniz.

github-logo JavaScript isNaN() Fonksiyonu Nedir ve Nasıl Kullanılır?
codepen-logo JavaScript isNaN() Fonksiyonu Nedir ve Nasıl Kullanılır?
Javascript konusuyla ilgili yazdığım tüm yazıları bu bağlantıdan veya github hesabımdan inceyebilirsiniz.

Bir Yorum Yazın