Angka JavaScript

JavaScript hanya memiliki satu tipe bilangan.

Dapat ditulis bilangan dengan atau tanpa titik desimal.

JavaScript Bilangan

Penulisan nilai JavaScript dapat disertakan titik desimal atau tanpa titik desimal:

Contoh

var x = 3.14;    // Angka dengan titik desimal
var y = 3;       // Angka tanpa titik desimal

Coba Sendiri

Bilangan yang sangat besar atau sangat kecil dapat ditulis dalam notasi bilangan ilmiah:

Contoh

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

Coba Sendiri

Nilai JavaScript selalu bilangan floating-point 64 bit

Beberapa dengan berbeda dari bahasa pemrograman lain, JavaScript tidak mendefinisikan tipe bilangan yang berbeda, seperti integer, short, long, floating-point, dll.

Nilai JavaScript selalu disimpan dalam bilangan floating-point double precision, menurut standar internasional IEEE 754.

Format ini menggunakan 64 bit untuk menyimpan nilai, di mana 0 sampai 51 menyimpan angka (distribusi), 52 sampai 62 menyimpan eksponen, dan 63 bit menyimpan simbol:

Nilai (dikenal sebagai Bagian/Fraction/Mantissa) Eksponen Simbol
52 bits(0 - 51) 11 bits (52 - 62) 1 bit (63)

Akurasi

Bilangan bulat (tanpa penggunaan eksponen atau notasi bilangan ilmiah) akan disesuaikan hingga 15 digit.

Contoh

var x = 999999999999999;   // x akan menjadi 999999999999999
var y = 9999999999999999;  // y akan menjadi 10000000000000000

Coba Sendiri

Besar paling besar ekspresi desimal adalah 17 digit, tetapi aritmetika floating-point tidak selalu 100% akurat:

Contoh

var x = 0.2 + 0.1;         // x akan menjadi 0.30000000000000004

Coba Sendiri

Penggunaan perkalian dan pembagian dapat membantu menyelesaikan masalah di atas:

Contoh

var x = (0.2 * 10 + 0.1 * 10) / 10;       // x akan menjadi 0.3

Coba Sendiri

Menambahkan angka dan string

Peringatan!!

Penambahan dan penggabungan JavaScript menggunakan operator +.

Angka menggunakan penambahan. String menggunakan penggabungan.

Jika Anda menambahkan dua angka, hasilnya akan menjadi angka:

Contoh

var x = 10;
var y = 20;
var z = x + y;           // z akan menjadi 30 (sebuah angka)

Coba Sendiri

Jika menambahkan dua string, hasilnya akan menjadi penggabungan string:

Contoh

var x = "10";
var y = "20";
var z = x + y;           // z akan menjadi 1020 (string)

Coba Sendiri

Jika Anda menambahkan angka dan string, hasilnya adalah penggabungan string:

Contoh

var x = 10;
var y = "20";
var z = x + y;           // z akan menjadi 1020 (sebuah string)

Coba Sendiri

Jika Anda menambahkan string dan bilangan, hasilnya juga adalah penugasan string:

Contoh

var x = "10";
var y = 20;
var z = x + y;           // z akan menjadi 1020 (string)

Coba Sendiri

Kesalahan yang umum adalah percaya bahwa hasilnya harus menjadi 30:

Contoh

var x = 10;
var y = 20;
var z = "The result is: " + x + y;

Coba Sendiri

Kesalahan yang umum adalah percaya bahwa hasilnya harus menjadi 102030:

Contoh

var x = 10;
var y = 20;
var z = "30";
var result = x + y + z;

Coba Sendiri

JavaScript mengompilasi dari kiri ke kanan.

Karena x dan y adalah bilangan, 10 + 20 akan dihitung bersama.

Karena z adalah string, 30 + "30" akan diikat bersama.

String angka

String JavaScript dapat memiliki konten angka:

var x = 100;         // x adalah bilangan
var y = "100";       // y adalah string

Pada semua operasi bilangan, JavaScript akan mencoba mengkonversi string ke bilangan:

Kasus ini berjalan seperti ini:

var x = "100";
var y = "10";
var z = x / y;       // z akan menjadi 10

Coba Sendiri

Kasus ini juga akan berjalan seperti ini:

var x = "100";
var y = "10";
var z = x * y;       // z akan menjadi 1000

Coba Sendiri

Kasus ini berjalan seperti ini:

var x = "100";
var y = "10";
var z = x - y;      // z akan menjadi 90

Coba Sendiri

namun kasus ini tidak akan berjalan seperti contoh di atas:

var x = "100";
var y = "10";
var z = x + y;       // z tidak akan menjadi 110 (melainkan 10010)

Coba Sendiri

Pada contoh terakhir, JavaScript menggunakan operator + untuk penugasan string.

NaN - Non-Nomor

NaN adalah kata-reservasi JavaScript, yang menunjukkan bahwa angka tersebut bukan angka yang sah.

Percobaan dengan pengambangan dengan string non-bilangan akan menghasilkan NaN (Not a Number):

Contoh

var x = 100 / "Apple";  // x akan menjadi NaN (Not a Number)

Coba Sendiri

namun, jika string mengandung angka, hasilnya akan menjadi bilangan:

Contoh

var x = 100 / "10";     // x akan menjadi 10

Coba Sendiri

Anda dapat menggunakan fungsi JavaScript global isNaN() untuk menentukan apakah nilai tertentu adalah bilangan:

Contoh

var x = 100 / "Apple";
isNaN(x);               // Kembalikan true, karena x bukan bilangan

Coba Sendiri

Harap berhati-hati NaNHarap berhati-hati NaNjika Anda menggunakan NaN:

Contoh

var x = NaN;
var y = 5;
var z = x + y;         // z akan menjadi NaN

Coba Sendiri

Hasilnya mungkin adalah gabungan:

Contoh

var x = NaN;
var y = "5";
var z = x + y;         // z akan menjadi NaN5

Coba Sendiri

NaN Adalah bilangan,typeof NaN Mengembalikan number:

Contoh

typeof NaN;             // Mengembalikan "number"

Coba Sendiri

Infinity

Infinity (atau -InfinityAdalah nilai yang dikembalikan oleh JavaScript saat menghitung angka melebihi kisaran yang mungkin.

Contoh

var myNumber = 2;
while (myNumber != Infinity) {          // Melanjutkan sampai Infinity
    myNumber = myNumber * myNumber;
}

Coba Sendiri

Pembagian dengan 0 (nol) juga akan menghasilkan Infinity:

Contoh

var x =  2 / 0;          // x akan menjadi Infinity
var y = -2 / 0;          // y akan menjadi -Infinity

Coba Sendiri

Infinity Adalah bilangan:typeOf Infinity Mengembalikan number.

Contoh

typeof Infinity;        // Mengembalikan "number"

Coba Sendiri

heksadesimal

JavaScript akan mengartikan yang diawali dengan 0x nilai konstanta diartikan sebagai heksadesimal.

Contoh

var x = 0xFF;             // x akan menjadi 255.

Coba Sendiri

Jangan tulis angka dengan nol di depan (seperti 07).

Beberapa versi JavaScript akan mengartikan angka dengan nol di depan sebagai oktal.

Secara default, Javascript menampilkan angka dalam desimal.

Namun Anda dapat menggunakan toString() Metode mengeluarkan angka dalam heksadesimal, oktal, atau biner.

Contoh

var myNumber = 128;
myNumber.toString(16);     // Mengembalikan 80
myNumber.toString(8);      // Mengembalikan 200
myNumber.toString(2);      // Mengembalikan 10000000

Coba Sendiri

Nilai dapat berupa objek

Secara biasa, nilai JavaScript dibuat melalui nilai asli: var x = 123

tetapi juga dapat dibuat melalui kata kunci new didefinisikan sebagai objek: var y = new Number(123)

Contoh

var x = 123;
var y = new Number(123);
// typeof x mengembalikan number
// typeof y mengembalikan object

Coba Sendiri

Jangan buat objek numerik. Ini akan menurunkan kecepatan eksekusi.

new Kata kunci memperkomplekskan kode dan menghasilkan beberapa hasil yang tak terduga:

ketika menggunakan == Bilangan yang sama terlihat sama saat menggunakan operator sama dengan:

Contoh

var x = 500;             
var y = new Number(500);
// (x == y) adalah true, karena nilai x dan y sama

Coba Sendiri

ketika menggunakan === Setelah operator sama dengan, bilangan yang sama menjadi berbeda, karena === Operator memerlukan tipe dan nilai yang sama untuk memadai.

Contoh

var x = 500;             
var y = new Number(500);
// (x === y) adalah false, karena tipe x dan y berbeda

Coba Sendiri

bahkan yang buruk. Objek tidak dapat dibandingkan:

Contoh

var x = new Number(500);             
var y = new Number(500);
// (x == y) adalah false, karena objek tidak dapat dibandingkan

Coba Sendiri

Objek JavaScript tidak dapat dibandingkan.