Sobes.tech
Junior

Чӣ тавр муайян кардан, ки дар тағирёбанда массив аст?

sobes.tech AI

Ҷавоб аз AI

Самтарифтарин усул истифодаи Array.isArray() мебошад:

// Санҷед, ки арзиш массив аст
Array.isArray(манЗарур;

Ин усул баргардон мекунад true, агар тағйирёбанда массив бошад, ва false дар дигар ҳолат, бе назардошти контексти иҷро ё дигар омилҳо.

Усулҳои дигар, ки камтар боэътимоданд:

  1. typeof:

    // Барои массивҳо, `typeof` 'object' бармегардонад
    typeof манЗарур === 'object';
    

    Камтар боэътимод, зеро typeof барои бисёре аз намудҳои додаҳо 'object' бармегардонад, на танҳо барои массивҳо (объектҳо, null).

  2. instanceof:

    // Санҷед, ки оё объект намунаи синфи Array аст
    манЗарур instanceof Array;
    

    Мумкин аст, ки дар кор бо iframe ё тирезаҳо бо контексти JavaScript гуногун, ки Array аз як контекст фарқ мекунад, боэътимод набошад.

  3. Санҷиши конструктор:

    // Санҷед, ки конструктор тағйирёбанда Array аст
    манЗарур.constructor === Array;
    

    Ҳам метавонад дар контекстҳои гуногуни иҷро мушкилот ба вуҷуд орад.

Таблиғи хулоса:

Усул Боэътимодӣ Тавсиф
Array.isArray() Баланд Мутахассис барои санҷиши массивҳо.
typeof манЗарур Паст Барои массивҳо 'object' бармегардонад.
манЗарур instanceof Array Миёна/паст (ба вобаста аз контекст) Санҷед, ки оё ба синфи Array тааллуқ дорад.
манЗарур.constructor === Array Миёна/паст (ба вобаста аз контекст) Санҷед, ки хосияти constructor чӣ аст.

Аз ин рӯ, Array.isArray() усули афзалиятнок ва боэътимодтарин мебошад.