Konversi Tipe Data JavaScript
Konversi tipe (type conversion atau typecasting) adalah operasi mengonversi data dari satu tipe data ke tipe data yang lainnya, misalnya dari Number ke String, Number ke Boolean, dan lain sebagainya.
Proses konversi dapat dilakukan secara otomatis (implisit) maupun manual (eksplisit).
Misalnya, ketika kita menulis bilangan pecahan 2.0
, interpreter JavaScript otomatis mengonversi ke bilangan bulat menjadi 2
.
Untuk konversi manual, misalnya dari angka ke string menggunakan fungsi String()
, String(20)
menghasilkan "20"
.
Objek pembungkus nilai primitif seperti Number
, String
, Boolean
dan lainnya (tanpa kata kunci new
), dapat digunakan sebagai fungsi untuk mengonversi tipe data ke tipe terkait.
Konversi String ke Number
Konversi String ke Number dapat dilakukan melalui fungsi Number()
, operator unary plus (+
), atau method Number.
Fungsi Number()
(tanpa kata kunci new
) dapat digunakan untuk mengonversi String menjadi Number, misalnya String "2.5"
dikonversi menjadi Number 2.5
.
String kosong dikonversi menjadi 0
, jika angka di dalam String bukan angka valid (selain String kosong) maka dikonversi menjadi NaN
.
Contoh:
Number('2.5'); // 2.5
Number(''); // 0
Number('hello'); // NaN
Menggunakan operator unary plus lebih ringkas, kita hanya perlu menempatkan string yang akan dikonversi setelah operator (+
).
Contoh:
+'2.5'; // 2.5
+''; // 0
+'hello'; // NaN
Berikut beberapa method Number
yang dapat mengkonversi String menjadi Number:
Method | Keterangan |
---|---|
parseFloat() | Konversi string ke angka pecahan (floating point). |
parseInt() | Konversi string ke bilangan bulat (integer). |
Contoh:
parseFloat('4.567'); // 4.567
parseFloat('4.567hello'); // 4.567
parseFloat('hello'); // NaN
parseInt('4.567'); // 4
parseInt('4.567hello'); // 4
parseInt('hello'); // NaN
Konversi Number ke String
Konversi Number ke String dapat dilakukan melalui fungsi String()
atau method Number.
Kita dapat melewatkan angka yang ingin dikonversi ke argumen fungsi String()
secara langsung, variabel, atau ekspresi.
Contoh:
String(2); // "2"
String(2 * 2); // "4"
String(0); // "0"
Method Number toString()
melakukan hal yang sama.
Contoh:
(2).toString(); // "2"
(2 * 2).toString(); // "4"
(0).toString(); // "0"
Beberapa method Number yang dapat mengonversi Number ke String:
Method | Keterangan |
---|---|
toExponential() | Konversi Number ke String notasi eksponensial. |
toFixed() | Konversi Number ke String notasi fixed-point. |
toPrecision() | Konversi Number ke String dalam presisi yang ditentukan. |
Contoh:
(2).toExponential(); // "2e+0"
(2.55).toFixed(); // "3"
(2.567).toPrecision(2); // "2.6"
Konversi Date ke Number
Fungsi Number()
dan beberapa method Date
dapat digunakan untuk mengonversi tanggal menjadi angka.
Fungsi Number()
mengembalikan angka Unix Time yaitu milidetik dari 1 Januari 1970 hingga saat ini.
Contoh:
Number(new Date()); // 1637743158186
Beberapa method Date yang mengkonversi ke Number:
Method | Nilai Kembalian (angka) |
---|---|
getTime() | waktu Unix |
getMilliseconds() | milidetik (0 - 999) |
getSeconds() | detik (0 - 59) |
getMinutes() | menit (0 - 59) |
getHours() | jam (0 - 23) |
getDate() | tanggal (1 - 31) |
getDay() | haris kerja (0 - 6) |
getMonth() | bulan (0 - 11) |
getFullYear() | tahun (yyyy) |
Contoh:
const dateNow = new Date();
dateNow.getTime(); // 1637743696122
dateNow.getMilliseconds(); // 122
dateNow.getSeconds(); // 16
dateNow.getMinutes(); // 48
dateNow.getHours(); // 15
dateNow.getDate(); // 24
dateNow.getDay(); // 3
dateNow.getMonth(); // 10
dateNow.getFullYear(); // 2021
Konversi Date ke String
Untuk mengonversi tanggal ke String
kita bisa menggunakan fungsi String()
atau method Date toString()
.
Contoh:
String(Date()); // Wed Nov 24 2021 15:51:27 GMT+0700 (Western Indonesia Time)
Date().toString(); // Wed Nov 24 2021 15:51:27 GMT+0700 (Western Indonesia Time)
Konversi Boolean ke Number
Konversi Boolean
ke Number
bisa dilakukan melalui fungsi Number()
atau operator unary plus (+
).
Contoh:
Number(false); // 0
Number(true); // 1
+false; // 0
+true; // 1
Konversi Boolean ke String
Konversi Boolean ke String dapat dilakukan melalui fungsi String()
atau method Boolean toString()
.
Contoh:
String(false); // "false"
String(true); // "true"
false.toString(); // "false"
true.toString(); // "true"