Pada tutorial ini, Anda akan mempelajari tentang tipe data number di JavaScript dan cara menggunakannya secara efektif.
Pendahuluan Tipe Data ‘Number’ di JavaScript
JavaScript menggunakan tipe data number untuk merepresentasikan baik bilangan bulat maupun nilai desimal (floating-point). Secara teknis, tipe data angka di JavaScript menggunakan format IEEE-754.
Pada ES2020, diperkenalkan tipe data primitif baru bernama “bigint” yang merepresentasikan bilangan bulat besar dengan nilai yang lebih besar dari 253–1.
Untuk mendukung berbagai jenis tipe data angka/ number, JavaScript menggunakan berbagai format literal angka.
Bilangan Bulat
Berikut ini adalah cara mendeklarasikan variabel yang menyimpan bilangan bulat desimal:
let counter = 100;
Bilangan bulat dapat direpresentasikan dalam format-format berikut:
- Oktal (basis 8)
- Heksadesimal (basis 16)
Ketika Anda menggunakan angka oktal dan heksadesimal dalam operasi aritmatika, JavaScript akan memperlakukannya sebagai angka desimal.
Oktal
Angka literal oktal dimulai dengan digit nol (0) diikuti oleh rangkaian digit oktal (angka 0 hingga 7). Contohnya:
let num = 071;
console.log(num);
Output:
57
Jika angka oktal mengandung angka di luar rentang 0 hingga 7, JavaScript akan mengabaikan digit nol dan memperlakukannya sebagai angka desimal. Misalnya:
let num = 080;
console.log(num);
Output:
80
Perilaku implisit ini dapat menimbulkan masalah. Oleh karena itu, ES6 memperkenalkan literal oktal baru yang dimulai dengan 0o diikuti oleh rangkaian digit oktal (dari 0 hingga 7). Contohnya:
let num = 0o71;
console.log(num);
Output:
57
Jika ada angka yang tidak valid setelah 0o, JavaScript akan menghasilkan kesalahan sintaks seperti ini:
let num = 0o80;
console.log(num);
Output:
let num = 0o80;
^^
SyntaxError: Invalid or unexpected token
Angka Heksadesimal
Angka heksadesimal dimulai dengan 0x atau 0X diikuti oleh sejumlah digit heksadesimal (0 hingga 9, dan a hingga f). Contohnya:
let num = 0x1a;
console.log(num);
Output:
26
Angka Desimal
Untuk mendefinisikan angka literal desimal, Anda masukkan titik desimal dan setidaknya satu angka setelahnya. Contohnya:
let price = 9.99;
let tax = 0.08;
let discount = .05; // valid but not recommeded
Ketika Anda memiliki angka yang sangat besar, Anda dapat menggunakan notasi e. Notasi e menunjukkan bahwa sebuah angka harus dikalikan dengan 10 pangkat tertentu. Contohnya:
let amount = 3.14e7;
console.log(amount);
Output:
31400000
Notasi 3.14e7 berarti mengambil 3.14 dan mengalikannya dengan 10 pangkat 7.
Demikian pula, Anda dapat menggunakan notasi E untuk merepresentasikan angka yang sangat kecil. Contohnya:
let amount = 5e-7;
console.log(amount);
Output:
0.0000005
Notasi 5e-7 berarti mengambil 5 dan membaginya dengan 10.000.000.
Selain itu, JavaScript secara otomatis mengonversi angka desimal dengan setidaknya enam nol setelah titik desimal ke dalam notasi e. Contohnya:
let amount = 0.0000005;
console.log(amount);
Output:
5e-7
Angka desimal akurat hingga 17 tempat desimal. Namun, ketika Anda melakukan operasi aritmatika pada angka desimal, Anda sering mendapatkan hasil perkiraan. Contohnya:
let amount = 0.2 + 0.1;
console.log(amount);
Output:
0.30000000000000004
Bilangan Bulat Besar
JavaScript memperkenalkan tipe data “bigint” mulai dari ES2022. Tipe data bigint menyimpan angka bulat utuh dengan nilai yang lebih besar dari 253 – 1.
Literal bilangan bulat besar memiliki karakter ‘n’ di akhir literal bilangan bulat seperti ini:
let pageView = 9007199254740991n;
Ringkasan
Tipe data Angka di JavaScript mewakili baik bilangan bulat maupun bilangan desimal (floating-point).