Rumah > Soal Jawab > teks badan
Saya sedang belajar ES6 baru-baru ini dan mempunyai beberapa soalan tentang pengembangan berangka.
ES6 menyediakan dua kaedah pada objek Nombor: Number.isFinite() dan Number.isNaN()
Perbezaan daripada ES5 ialah ia membatalkan keperluan untuk memanggil Number() sekali untuk menukar nilai bukan angka kepada nilai berangka sebelum menilai.
Nota: Perbezaan antara kedua-dua kaedah dan kaedah isFinite() dan isNaN() tradisional ialah kaedah tradisional mula-mula memanggil Number() untuk menukar nilai bukan angka kepada nilai berangka, dan kemudian menilai. Kedua-dua kaedah ini hanya sah untuk nilai berangka dan akan mengembalikan palsu untuk nilai bukan angka.
Saya tidak begitu faham mengapa kami melakukan ini, saya rasa tidak lebih baik untuk memanggil Number() sekali untuk menukar nilai bukan angka kepada nilai berangka sebelum menilai?
phpcn_u15822017-05-18 10:54:30
Anda boleh lihat penerangan MDN
Bagi isFinite, anda boleh membandingkan Number.isFinite(true) dan isFinite(true) untuk mengetahui. Sudah tentu, Number.isFinite("") dan isFinite("") juga akan berfungsi.
黄舟2017-05-18 10:54:30
Dua fungsi ini digunakan untuk menentukan sama ada nilai terhad atau NaN pada Nombor Premis ialah nombor Jika operasi tersembunyi dalaman seperti rentetan ditukar kepada nombor, makna yang dinyatakan secara langsung oleh mereka akan hilang, dan ia juga akan hilang. membawa Untuk beberapa masalah lain, ia menjadi mungkin untuk menilai bukan sahaja nombor, tetapi juga jenis seperti rentetan.
Pautan rujukan:
es6
isNaN