23 of 264 menu

isFinite функцияси

isFinite функцияси параметрнинг чекли сон эканлигини (яъни сатр, массив ва хоказо эмаслигини ва у мусбат ёки манфий чексизлик эмаслигини) текширади.

Бу функция кандай ишлайди: агар сон мусбат ёки манфий чексизлик (яъни Infinity) ёки сон эмас (яъни NaN) булса, false кайтаради, акс холда true кайтаради. Яъни сатрлар, массивлар ва хоказо NaN га aйлантирилади ва шу sababli false кайтаради.

Aммо **истиснолар** мавжуд: буш сатр '' true кайтаради, бушлиқлар билан сатр '    ' ҳам true кайтаради, null true кайтаради, true ва false қийматлари учун ҳам true кайтарилади.

Бу шундан келиб чиқадики, бу қийматлар NaN га эмас, балки сонларга aйлантирилади. Aгар сизга бушлиқлар сатрини, мантиқий ва maxсус қийматларни сон хисоблаган ҳолда эмас, чиндан хам аниқ сон текшириши керак бўлса, куйидаги isNumeric функциясидан фойдаланинг:

function isNumeric(num) { return !isNaN(parseFloat(num)) && isFinite(num); };

Келинг, унинг кандай ишлашини тушунамиз. isFinite функцияси параметрни сонга aйлантиради ва агар у Infinity, -Infinity ёки NaN бўлмаса, true кайтаради. Шу тариқа, ўнг томон aniq **но-сон**ларни устунда колиб, true, false, null, буш сатр '' ва бушлиқлар билан сатр каби қийматларни қолдиради, чунки улар тўғри равищда сонларга aйлантирилади.

Бу қийматларни устунда колиш учун parseFloat функцияси зарур, у true, false, null, '', '   ' учун NaN кайтаради. parseFloat функцияси шундай ишлайди: у параметрни сатрга aйлантиради, яъни true, false, null 'true', 'false', 'null' га aйланади, сўнгра ундан сонни ўқийди, бунда буш сатр ва бушлиқлар билан сатрлар NaN беради. Сўнгра parseFloat натижаси !isNaN ёрдамида ишлатилади, NaN ўрнига true ёки false олиш учун. Натижада сон-сатрлар ва оддий сонлардан ташқари hамма нарса устунда колинади.

Синтаксис

isFinite(қиймат);

Мисол

Ҳозир isFinite true ни кўрсатади, чунки параметр сондир:

let num = 3; console.log(isFinite(num));

Кодни ишга тушириш натижаси:

true

Мисол

Ҳозир isFinite false ни кўрсатади, чунки параметр сон эмас:

let num = 'abcde'; console.log(isFinite(num));

Кодни ишга тушириш натижаси:

false

Мисол

Ҳозир isFinite false ни кўрсатади, чунки параметр чексизликдир:

let num = Infinity; console.log(isFinite(num));

Кодни ишга тушириш натижаси:

false

Мисол

Ҳозир isFinite false ни кўрсатади, чунки 1/0 - аслида Infinity (чексизлик):

let num = 1 / 0; console.log(isFinite(num));

Кодни ишга тушириш натижаси:

false

Мисол

Ҳозир isFinite true ни кўрсатади, чунки буш сатр, сон бўлмаса-да, - бу истиснодир:

let num = ''; console.log(isFinite(num));

Кодни ишга тушириш натижаси:

true

Шунингдек қаранг

  • isNaN функцияси,
    NaN ни текширади
  • typeof оператори,
    маълумот турини аниклайди
Ўзбек
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeOʻzbekTiếng Việt
Биз веб-сайт ишлаши, таҳлил қилиш ва персоналлаштириш учун кукидан фойдаланамиз. Маълумотларни қайта ишлаш Махфийлик сиёсатига мувофиқ амалга оширилади.
ҳаммасини қабул қилиш мослаштириш рад этиш