Dalam tutorial ini, Anda akan belajar tentang Konversi Tipe dalam JavaScript dengan bantuan contoh.
Dalam pemrograman, Konversi Tipe adalah proses mengubah data dari satu tipe ke tipe lainnya. Misalnya: mengonversi data String menjadi Angka.
Ada dua jenis Konversi Tipe dalam JavaScript.
- Implicit Conversion – automatic type conversion
- Explicit Conversion – manual type conversion
Konversi Implisit JavaScript
Dalam situasi tertentu, JavaScript secara otomatis mengonversi satu tipe data ke tipe lainnya (ke tipe yang tepat). Ini dikenal sebagai konversi implisit.
Contoh 1: Konversi Implisit ke String
// numeric string used with + gives string type
let result;
result = '3' + 2;
console.log(result) // "32"
result = '3' + true;
console.log(result); // "3true"
result = '3' + undefined;
console.log(result); // "3undefined"
result = '3' + null;
console.log(result); // "3null"
Note: Saat angka ditambahkan ke string, JavaScript akan mengonversi angka menjadi string sebelum penggabungan.
Contoh 2: Konversi Implisit ke Angka
// numeric string used with - , / , * results number type
let result;
result = '4' - '2';
console.log(result); // 2
result = '4' - 2;
console.log(result); // 2
result = '4' * 2;
console.log(result); // 8
result = '4' / 2;
console.log(result); // 2
Contoh 3: Hasil String Non-numerik ke NaN
// non-numeric string used with - , / , * results to NaN
let result;
result = 'hello' - 'world';
console.log(result); // NaN
result = '4' - 'hello';
console.log(result); // NaN
Contoh 4: Konversi Boolean Implisit ke Angka
// if boolean is used, true is 1, false is 0
let result;
result = '4' - true;
console.log(result); // 3
result = 4 + true;
console.log(result); // 5
result = 4 + false;
console.log(result); // 4
Note: JavaScript menganggap 0 sebagai salah dan semua angka bukan nol sebagai benar. Dan, jika true diubah menjadi angka, hasilnya selalu 1.
Contoh 5: null Konversi ke Angka
// null is 0 when used with number
let result;
result = 4 + null;
console.log(result); // 4
result = 4 - null;
console.log(result); // 4
Contoh 6: undefined digunakan dengan angka, boolean atau null
// Arithmetic operation of undefined with number, boolean or null gives NaN
let result;
result = 4 + undefined;
console.log(result); // NaN
result = 4 - undefined;
console.log(result); // NaN
result = true + undefined;
console.log(result); // NaN
result = null + undefined;
console.log(result); // NaN
Konversi Eksplisit JavaScript
Anda juga dapat mengonversi satu tipe data ke tipe lainnya sesuai kebutuhan Anda. Konversi tipe yang Anda lakukan secara manual dikenal sebagai konversi tipe eksplisit.
Dalam JavaScript, konversi tipe eksplisit dilakukan menggunakan metode bawaan.
Berikut adalah beberapa metode konversi eksplisit yang umum.
1. Konversikan ke Angka Secara Eksplisit
Untuk mengonversi string numerik dan nilai boolean menjadi angka, Anda dapat menggunakan Number(). Sebagai contoh,
let result;
// string to number
result = Number('324');
console.log(result); // 324
result = Number('324e-1')
console.log(result); // 32.4
// boolean to number
result = Number(true);
console.log(result); // 1
result = Number(false);
console.log(result); // 0
Dalam JavaScript, string kosong dan nilai null mengembalikan 0. Misalnya,
let result;
result = Number(null);
console.log(result); // 0
let result = Number(' ')
console.log(result); // 0
Jika string adalah angka yang tidak valid, hasilnya adalah NaN. Sebagai contoh,
let result;
result = Number('hello');
console.log(result); // NaN
result = Number(undefined);
console.log(result); // NaN
result = Number(NaN);
console.log(result); // NaN
Note: Anda juga dapat membuat angka dari string menggunakan parseInt(), parseFloat(), operator unary +, dan Math.floor(). Sebagai contoh,
let result;
result = parseInt('20.01');
console.log(result); // 20
result = parseFloat('20.01');
console.log(result); // 20.01
result = +'20.01';
console.log(result); // 20.01
result = Math.floor('20.01');
console.log(result); // 20
2. Konversi ke String Secara Eksplisit
Untuk mengonversi tipe data lain menjadi string, Anda dapat menggunakan String() atau toString(). Sebagai contoh,
//number to string
let result;
result = String(324);
console.log(result); // "324"
result = String(2 + 4);
console.log(result); // "6"
//other data types to string
result = String(null);
console.log(result); // "null"
result = String(undefined);
console.log(result); // "undefined"
result = String(NaN);
console.log(result); // "NaN"
result = String(true);
console.log(result); // "true"
result = String(false);
console.log(result); // "false"
// using toString()
result = (324).toString();
console.log(result); // "324"
result = true.toString();
console.log(result); // "true"
Note: String()
mengambil null dan undefined dan mengubahnya menjadi string. Namun, toString() memberikan kesalahan saat null diteruskan.
3. Konversi ke Boolean Secara Eksplisit
Untuk mengonversi tipe data lain menjadi boolean, Anda dapat menggunakan Boolean().
Dalam JavaScript, undefined, null, 0, NaN, ” diubah menjadi false. Sebagai contoh,
let result;
result = Boolean('');
console.log(result); // false
result = Boolean(0);
console.log(result); // false
result = Boolean(undefined);
console.log(result); // false
result = Boolean(null);
console.log(result); // false
result = Boolean(NaN);
console.log(result); // false
Semua nilai lain memberikan true
. Sebagai contoh,
result = Boolean(324);
console.log(result); // true
result = Boolean('hello');
console.log(result); // true
result = Boolean(' ');
console.log(result); // true
Tabel Konversi Jenis JavaScript
Tabel menunjukkan konversi nilai yang berbeda ke String, Number, dan Boolean di JavaScript.
Value | String Conversion | Number Conversion | Boolean Conversion |
1 | “1” | 1 | true |
0 | “0” | 0 | false |
“1” | “1” | 1 | true |
“0” | "0" | 0 | true |
“ten” | "ten" | NaN | true |
true | “true” | 1 | true |
false | “false” | 0 | false |
null | “null” | 0 | false |
undefined | “undefined” | NaN | false |
” | “” | 0 | false |
‘ ‘ | ” “ | 0 | true |
You will learn about the conversion of objects and arrays to other data types in later tutorials.