Sobes.tech
Junior

Dəyişəndə massiv olub-olmadığını necə müəyyən etmək olar?

sobes.tech Süni İntellekt

AI-dan cavab

Ən etibarlı üsul Array.isArray() istifadə etməkdir:

// Dəyərin massiv olub-olmadığını yoxlayır
Array.isArray(öz dəyişənim);

Bu metod, dəyişənin massiv olub olmadığını true olaraq qaytarır və əks halda, icra kontekstindən və ya digər amillərdən asılı olmayaraq, false qaytarır.

Digər, daha az etibarlı üsullar bunlardır:

  1. typeof:

    // Massivlər üçün `typeof` 'object' qaytarır
    typeof öz dəyişənim === 'object';
    

    Az etibarlıdır, çünki typeof çox sayda məlumat növü üçün 'object' qaytarır, yalnız massivlər üçün deyil (ob'ektlər, null).

  2. instanceof:

    // Ob'ektin Array sinfinin nümunəsi olub-olmadığını yoxlayır
    öz dəyişənim instanceof Array;
    

    JavaScript-də müxtəlif icra kontekstləri ilə işləyərkən etibarsız ola bilər, çünki bir kontekstdəki Array digərindən fərqli ola bilər.

  3. Konstruktorun yoxlanması:

    // Dəyişənin konstruktorunun Array olub-olmadığını yoxlayır
    öz dəyişənim.constructor === Array;
    

    Bu da müxtəlif icra kontekstlərində problemlər yarada bilər.

Xülasə cədvəli:

Metod Etibarlılıq Təsviri
Array.isArray() Yüksək Massivləri yoxlamaq üçün ixtisaslaşdırılmışdır.
typeof öz dəyişənim Aşağı Massivlər üçün 'object' qaytarır.
öz dəyişənim instanceof Array Orta/Aşağı (kontekstdən asılıdır) Array sinfinə aid olub-olmadığını yoxlayır.
öz dəyişənim.constructor === Array Orta/Aşağı (kontekstdən asılıdır) constructor xüsusiyyətini yoxlayır.

Buna görə də, Array.isArray() üstünlük verilən və ən etibarlı üsuldur.