Angka bisa ditulis dengan, atau tanpa, desimal.
Nomor JavaScript
Nomor JavaScript dapat ditulis dengan, atau tanpa desimal:
Contoh
var x = 34.00; // Angka dengan desimal
var y = 34; // Angka tanpa desimal
Ekstra besar atau ekstra kecil dapat ditulis dengan notasi ilmiah (eksponen):
Contoh
var x = 123e5; // 12300000Angka JavaScript Selalu 64-bit Floating Point
var y = 123e-5; // 0.00123
Tidak seperti banyak bahasa pemrograman lainnya, JavaScript tidak mendefinisikan berbagai jenis bilangan, seperti bilangan bulat, pendek, panjang, floating-point, dll.
Nomor JavaScript selalu disimpan sebagai bilangan floating point presisi ganda, mengikuti standar IEEE 754 internasional.
Format ini menyimpan angka dalam 64 bit, di mana jumlah (pecahannya) disimpan dalam bit 0 sampai 51, eksponen pada bit 52 sampai 62, dan tanda di bit 63:
Nilai(aka Fraction/Mantissa) | Exponent | Tanda |
---|---|---|
52 bits (0 - 51) | 11 bits (52 - 62) | 1 bit (63) |
Presisi
Integer (angka tanpa notasi periode atau eksponen) dianggap akurat hingga 15 digit.
Contoh
var x = 999999999999999; // x akan menjadi 999999999999999
var y = 9999999999999999; // y akan 10000000000000000
Jumlah desimal maksimum 17, tapi aritmatika floating point tidak selalu 100% akurat:
Contoh
var x = 0,2 + 0,1; // x akan menjadi 0.30000000000000004
Untuk mengatasi masalah di atas, membantu untuk memperbanyak dan membagi:
Contoh
var x = (0,2 * 10 + 0,1 * 10) / 10; // x akan menjadi 0,3Heksadesimal
JavaScript menginterpretasikan konstanta numerik sebagai heksadesimal jika didahului dengan 0x.
Contoh
var x = 0xFF; // x akan menjadi 255Catatan Jangan pernah menulis angka dengan angka nol (seperti 07).
Beberapa versi JavaScript menafsirkan angka sebagai oktal jika ditulis dengan huruf nol terkemuka.
Secara default, Javascript menampilkan angka sebagai basis 10 desimal.
Tapi Anda bisa menggunakan metode toString () untuk menghasilkan bilangan sebagai basis 16 (hex), basis 8 (oktal), atau basis 2 (biner).
Contoh
var myNumber = 128;Infinity
myNumber.toString (16); // kembali 80
myNumber.toString (8); // kembali 200
myNumber.toString (2); // mengembalikan 10000000
Infinity (atau -Infinity) adalah nilai JavaScript akan kembali jika Anda menghitung angka di luar nomor terbesar.
Contoh
var myNumber = 2;
while (myNumber! = Infinity) {// Jalankan sampai Infinity
myNumber = myNumber * myNumber;
}
Divisi dengan 0 (nol) juga menghasilkan Infinity:
Contoh
var x = 2/0; // x akan menjadi tak terbatas
var y = -2 / 0; // y akan menjadi -Infinity
Infinity adalah angka: typeOf Infinity mengembalikan nomor.
Contoh
typeof Infinity; // mengembalikan "nomor"NaN - bukan nomor
NaN adalah kata dicadangkan JavaScript yang menunjukkan bahwa sebuah nilai bukan angka.
Mencoba melakukan aritmatika dengan string non-numerik akan menghasilkan NaN (Not a Number):
Contoh
var x = 100 / "apel"; // x akan menjadi NaN (Bukan Nomor)
Namun, jika string berisi nilai numerik, hasilnya akan berupa angka:
Contoh
var x = 100 / "10"; // x akan menjadi 10
Anda bisa menggunakan fungsi JavaScript global isNaN () untuk mengetahui apakah sebuah nilai adalah angka.
Contoh
var x = 100 / "apel";
isNaN (x); // mengembalikan true karena x bukan nomor
Hati-hati dengan NaN. Jika Anda menggunakan NaN dalam operasi matematika, hasilnya juga akan menjadi NaN:
Contoh
var x = NaN;
var y = 5;
var z = x + y; // z akan menjadi NaN
Atau hasilnya mungkin merupakan gabungan:
Contoh
var x = NaN;
var y = "5";
var z = x + y; // z akan menjadi NaN5
NaN adalah nomor, dan tipe nomor pengembalian NaN:
Contoh
typeof NaN; // mengembalikan "nomor"Bilangan Bisa Jadi Objek
Biasanya nomor JavaScript adalah nilai primitif yang dibuat dari literal: var x = 123
Tapi angka juga bisa didefinisikan sebagai objek dengan kata kunci baru: var y = new Number (123)
Contoh
var x = 123;
var y = nomor baru (123);
// typeof x mengembalikan nomor
// typeof y mengembalikan objek
Catatan Jangan membuat nomor objek. Ini memperlambat kecepatan eksekusi.
Kata kunci baru mempersulit kode. Ini bisa menghasilkan beberapa hasil yang tidak diharapkan:
Bila menggunakan operator persamaan ==, angka yang sama terlihat sama:
Contoh
var x = 500;
var y = nomor baru (500);
// (x == y) benar karena x dan y memiliki nilai yang sama
Bila menggunakan operator kesetaraan ===, jumlah yang sama tidak sama, karena operator === mengharapkan persamaan dalam tipe dan nilai.
Contoh
var x = 500;
var y = nomor baru (500);
// (x === y) salah karena x dan y memiliki tipe yang berbeda
Atau bahkan lebih buruk lagi. Objek tidak bisa dibandingkan:
Contoh
Var x = nomor baru (500);
Var y = nomor baru (500);Catatan Objek JavaScript tidak bisa dibandingkan.
// (x == y) salah karena objek tidak dapat dibandingkan
Out Of Topic Show Konversi KodeHide Konversi Kode