Sobes.tech
Junior

Bu alanın dizi olup olmadığını nasıl kontrol edebilirsiniz?

sobes.tech yapay zeka

AI'dan gelen yanıt

Bir dizinin array olup olmadığını kontrol etmenin birkaç yolu vardır:

  1. Array.isArray(): En çok tercih edilen ve modern yöntem.

    // Değerin bir dizi olup olmadığını kontrol eder.
    // true veya false döner.
    Array.isArray([]); // true
    Array.isArray({}); // false
    Array.isArray(null); // false
    Array.isArray(undefined); // false
    Array.isArray(123); // false
    Array.isArray('dize'); // false
    
  2. instanceof Array: Güncel çerçevede oluşturulan diziler için çalışır.

    // Nesnenin Array sınıfının bir örneği olup olmadığını kontrol eder.
    // iframe ile çalışırken yanlış sonuçlar verebilir.
    [] instanceof Array; // true
    new Array() instanceof Array; // true
    ({}); // false
    
  3. Object.prototype.toString.call(): Farklı çerçevelerde instanceof sorunlarını aşan güvenilir yöntem.

    // Nesnenin tipinin string temsilini döner.
    // Diziler için "[object Array]" döner.
    Object.prototype.toString.call([]); // "[object Array]"
    Object.prototype.toString.call({}); // "[object Object]"
    Object.prototype.toString.call(null); // "[object Null]"
    Object.prototype.toString.call(undefined); // "[object Undefined]"
    
  4. constructor özelliğinin kontrolü: Daha az güvenilir, çünkü constructor özelliği değiştirilebilir.

    // Nesnenin constructor'ının Array olup olmadığını kontrol eder.
    [].constructor === Array; // true
    ({}).constructor === Object; // false
    

Çoğu durumda en önerilen ve güvenilir yöntem Array.isArray() kullanmaktır.