23 of 264 menu

isFinite Fonksiyonu

isFinite fonksiyonu, bir parametrenin sonlu bir sayı olup olmadığını kontrol etmek için kullanılır (yani bir dizi, string vs. değil ve artı veya eksi sonsuzluk değil).

Bu fonksiyon nasıl çalışır: eğer sayı artı veya eksi sonsuzluk ise (yani Infinity) veya sayı değilse (yani NaN) false döndürür, diğer durumlarda true döndürür. Yani stringler, diziler vb. NaN'a dönüştürülecek ve buna bağlı olarak false döndürecektir.

Ancak istisnalar vardır: boş string '' true döndürür, boşluk içeren string '    ' ayrıca true döndürür, null true döndürür, true ve false değerleri için ayrıca true döndürülür.

Bunun nedeni, bu değerlerin NaN'a değil, sayılara dönüştürülmesidir. Eğer boşluklardan oluşan bir stringi, mantıksal ve özel değerleri sayı olarak kabul etmeyen gerçekten hassas bir sayı kontrolüne ihtiyacınız varsa, aşağıdaki isNumeric fonksiyonunu kullanın:

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

Bu fonksiyonun nasıl çalıştığını anlayalım. isFinite fonksiyonu parametreyi bir sayıya dönüştürür ve eğer bu Infinity, -Infinity veya NaN değilse true döndürür. Böylece, sağ kısım açıkça sayı olmayan değerleri eler, ancak true, false, null, boş string '' ve boşluk stringi gibi değerleri bırakır, çünkü bunlar doğru şekilde sayılara dönüştürülür.

Bu değerleri elemek için parseFloat fonksiyonuna ihtiyaç vardır, bu fonksiyon true, false, null, '', '   ' için NaN döndürür. parseFloat fonksiyonu bu şekilde çalışır: parametreyi stringe dönüştürür, yani true, false, null, 'true', 'false', 'null' olur ve sonra içinden bir sayı okur, bu sırada boş string ve boşluk içeren stringler NaN verir. Ardından parseFloat sonucu, NaN yerine true veya false elde etmek için !isNaN ile işlenir. Sonuç olarak, sayı-stringler ve normal sayılar dışındaki her şey elenir.

Sözdizimi

isFinite(değer);

Örnek

Şimdi isFinite true gösterecek, çünkü parametre bir sayıdır:

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

Kodun çalıştırılmasının sonucu:

true

Örnek

Şimdi isFinite false gösterecek, çünkü parametre bir sayı değildir:

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

Kodun çalıştırılmasının sonucu:

false

Örnek

Şimdi isFinite false gösterecek, çünkü parametre sonsuzluktur:

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

Kodun çalıştırılmasının sonucu:

false

Örnek

Şimdi isFinite false gösterecek, çünkü 1/0 aslında Infinity'dir (sonsuzluk):

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

Kodun çalıştırılmasının sonucu:

false

Örnek

Şimdi isFinite true gösterecek, çünkü sayı olmayan boş string bir istisnadır:

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

Kodun çalıştırılmasının sonucu:

true

Ayrıca Bakınız

  • isNaN fonksiyonu,
    NaN kontrolü yapar
  • typeof operatörü,
    veri tipini belirler
Türkçe
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenЎзбекOʻzbekTiếng Việt
Web sitesinin çalışması, analiz ve kişiselleştirme için çerezleri kullanıyoruz. Veri işleme, Gizlilik Politikası'na uygun olarak gerçekleşir.
tümünü kabul et özelleştir reddet