tutorial pengembangan web terbaru
 

JavaScript nomor


JavaScript hanya memiliki satu jenis number .

Numbers dapat ditulis dengan atau tanpa desimal.


Nomor JavaScript

JavaScript numbers dapat ditulis dengan atau tanpa desimal:

Contoh

var x = 34.00;    // A number with decimals
var y = 34;       // A number without decimals

jumlah kecil ekstra besar atau ekstra dapat ditulis dengan ilmiah (eksponen) notasi:

Contoh

var x = 123e5;    // 12300000
var y = 123e-5;   // 0.00123

Nomor JavaScript yang Selalu 64-bit Floating Point

Tidak seperti banyak bahasa pemrograman lainnya, JavaScript tidak mendefinisikan berbagai jenis nomor, seperti bilangan bulat, pendek, panjang, floating-point dll

nomor JavaScript selalu disimpan sebagai nomor ganda presisi floating point, menyusul internasional IEEE 754 standar.

Format ini menyimpan nomor di 64 bit, dimana jumlah (fraksi) disimpan dalam bit 0-51, eksponen dalam bit 52-62, dan tanda di bit 63:

Nilai (alias Fraksi / Mantissa) Eksponen Tanda
52 bit (0-51) 11 bit (52-62) 1 bit (63)

Ketelitian

Bilangan bulat (angka tanpa titik atau notasi eksponen) dianggap akurat hingga 15 digit.

Contoh

var x = 999999999999999;   // x will be 999999999999999
var y = 9999999999999999;  // y will be 10000000000000000
Cobalah sendiri "

Jumlah maksimum desimal adalah 17, tapi aritmatika floating point tidak selalu 100% akurat:

Contoh

var x = 0.2 + 0.1;         // x will be 0.30000000000000004
Cobalah sendiri "

Untuk mengatasi masalah di atas, hal ini membantu untuk memperbanyak dan membagi:

Contoh

var x = (0.2 * 10 + 0.1 * 10) / 10;       // x will be 0.3
Cobalah sendiri "

heksadesimal

JavaScript menafsirkan konstanta numerik sebagai heksadesimal jika mereka didahului oleh 0x.

Contoh

var x = 0xFF;             // x will be 255
Cobalah sendiri "

Jangan pernah menuliskan nomor dengan nol (seperti 07).
Beberapa versi JavaScript menafsirkan angka sebagai oktal jika mereka ditulis dengan nol.

Secara default, Javascript menampilkan nomor sebagai basis 10 desimal.

Tapi Anda bisa menggunakan toString() metode untuk nomor output sebagai basis 16 (hex), basis 8 (oktal), atau basis 2 (biner).

Contoh

var myNumber = 128;
myNumber.toString(16);     // returns 80
myNumber.toString(8);      // returns 200
myNumber.toString(2);      // returns 10000000
Cobalah sendiri "

Tak terbatas

Infinity (atau infinity) adalah nilai JavaScript akan kembali jika Anda menghitung jumlah luar sebanyak mungkin.

Contoh

var myNumber = 2;
while (myNumber != Infinity) {          // Execute until Infinity
    myNumber = myNumber * myNumber;
}
Cobalah sendiri "

Pembagian dengan 0 (nol) juga menghasilkan Infinity:

Contoh

var x =  2 / 0;          // x will be Infinity
var y = -2 / 0;          // y will be -Infinity
Cobalah sendiri "

Infinity adalah nomor: typeOf Infinity mengembalikan nomor.

Contoh

typeof Infinity;        // returns "number"
Cobalah sendiri "

NaN - Tidak Nomor

NaN adalah kata reserved JavaScript menunjukkan bahwa nilai yang bukan angka.

Mencoba untuk melakukan aritmatika dengan string non-numerik akan menghasilkan NaN (Not a Number):

Contoh

var x = 100 / "Apple";  // x will be NaN (Not a Number)
Cobalah sendiri "

Namun, jika string berisi nilai numerik, hasilnya akan menjadi nomor:

Contoh

var x = 100 / "10";     // x will be 10
Cobalah sendiri "

Anda dapat menggunakan global fungsi JavaScript isNaN() untuk mengetahui apakah nilai adalah angka.

Contoh

var x = 100 / "Apple";
isNaN(x);               // returns true because x is Not a Number
Cobalah sendiri "

Watch out untuk NaN. Jika Anda menggunakan NaN dalam operasi matematika, hasilnya juga akan NaN:

Contoh

var x = NaN;
var y = 5;
var z = x + y;         // z will be NaN
Cobalah sendiri "

Atau hasilnya mungkin Rangkaian a:

Contoh

var x = NaN;
var y = "5";
var z = x + y;         // z will be NaN5
Cobalah sendiri "

NaN adalah angka, dan typeof NaN mengembalikan nomor:

Contoh

typeof NaN;             // returns "number"
Cobalah sendiri "

Nomor Bisa Objects

Biasanya angka JavaScript yang nilai primitif dibuat dari literal: var x = 123

Tapi angka juga dapat didefinisikan sebagai objek dengan kata kunci baru: var y = new Number(123)

Contoh

var x = 123;
var y = new Number(123);

// typeof x returns number
// typeof y returns object
Cobalah sendiri "

Jangan membuat objek Nomor. Memperlambat kecepatan eksekusi.
The new kata kunci mempersulit kode. Hal ini dapat menghasilkan beberapa hasil yang tak terduga:

Bila menggunakan == operator kesetaraan, jumlah yang sama terlihat sama:

Contoh

var x = 500;             
var y = new Number(500);

// (x == y) is true because x and y have equal values
Cobalah sendiri "

Bila menggunakan operator === kesetaraan, nomor yang sama tidak sama, karena operator === mengharapkan kesetaraan di kedua jenis dan nilai.

Contoh

var x = 500;             
var y = new Number(500);

// (x === y) is false because x and y have different types
Cobalah sendiri "

Atau bahkan lebih buruk. Benda tidak dapat dibandingkan:

Contoh

var x = new Number(500);             
var y = new Number(500);

// (x == y) is false because objects cannot be compared
Cobalah sendiri "

objek JavaScript tidak bisa dibandingkan.


Uji Diri dengan Latihan!

Latihan 1 » Latihan 2» Latihan 3 » Latihan 4»