23 of 264 menu

Fungsi isFinite

Fungsi isFinite untuk memeriksa parameter pada apakah ia merupakan angka terbatas (yaitu bukan string, array, dll. dan bukan plus atau minus tak terhingga).

Cara kerja fungsi ini: ia akan mengembalikan false, jika angka tersebut adalah plus atau minus tak terhingga (yaitu Infinity) atau bukan angka (yaitu NaN), dalam kasus lainnya akan mengembalikan true. Artinya, string, array, dll. akan dikonversi menjadi NaN dan karenanya akan mengembalikan false.

Namun ada pengecualian: string kosong '' mengembalikan true, string dengan spasi '    ' juga mengembalikan true, null mengembalikan true, untuk nilai true dan false juga dikembalikan true.

Ini terjadi karena nilai-nilai tersebut dikonversi menjadi angka, bukan menjadi NaN. Jika Anda memerlukan pemeriksaan yang benar-benar tepat untuk angka, yang tidak menganggap angka string yang terdiri dari spasi, nilai boolean dan nilai khusus - gunakan fungsi isNumeric berikut:

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

Mari kita pahami cara kerjanya. Fungsi isFinite mengonversi parameter menjadi angka dan mengembalikan true, jika ini bukan Infinity, -Infinity atau NaN. Dengan demikian, bagian kanan akan menyaring bukan-angka yang jelas, tetapi akan membiarkan nilai-nilai seperti true, false, null, string kosong '' dan string dengan spasi, karena mereka dikonversi dengan benar menjadi angka.

Untuk menyaring nilai-nilai ini, diperlukan fungsi parseFloat, yang untuk true, false, null, '', '   ' akan mengembalikan NaN. Begitulah cara kerja fungsi parseFloat: ia mengonversi parameter menjadi string, yaitu true, false, null menjadi 'true', 'false', 'null', dan kemudian membaca angka darinya, sementara itu string kosong dan string dengan spasi menghasilkan NaN. Kemudian hasil parseFloat diproses dengan !isNaN, untuk mendapatkan true atau false sebagai ganti NaN. Hasilnya, semua disaring kecuali string-angka dan angka biasa.

Sintaksis

isFinite(nilai);

Contoh

Sekarang isFinite akan menampilkan true, karena parameternya adalah angka:

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

Hasil eksekusi kode:

true

Contoh

Sekarang isFinite akan menampilkan false, karena parameternya bukan angka:

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

Hasil eksekusi kode:

false

Contoh

Sekarang isFinite akan menampilkan false, karena parameternya adalah tak terhingga:

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

Hasil eksekusi kode:

false

Contoh

Sekarang isFinite akan menampilkan false, karena 1/0 - ini pada dasarnya adalah Infinity (tak terhingga):

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

Hasil eksekusi kode:

false

Contoh

Sekarang isFinite akan menampilkan true, karena string kosong, yang bukan angka, - adalah pengecualian:

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

Hasil eksekusi kode:

true

Lihat juga

  • fungsi isNaN,
    yang melakukan pemeriksaan untuk NaN
  • operator typeof,
    yang menentukan tipe data
Indonesia
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Kami menggunakan cookie untuk operasi situs, analitik, dan personalisasi. Pemrosesan data dilakukan sesuai dengan Kebijakan Privasi.
terima semua atur tolak