Konversi Jenis JavaScript (dengan Contoh)

Dalam tutorial ini, Anda akan belajar tentang jenis konversi di JavaScript dengan bantuan contoh.

Proses mengonversi satu tipe data ke tipe data lain disebut tipe konversi. Ada dua jenis konversi tipe di JavaScript.

  • Konversi Implisit
  • Konversi Eksplisit

Konversi Tersirat JavaScript

Dalam situasi tertentu, JavaScript secara otomatis mengubah satu jenis data ke jenis lainnya (ke jenis yang benar). 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"

Catatan : Saat angka ditambahkan ke string, JavaScript 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

Catatan: JavaScript menganggap 0 sebagai falsedan semua angka bukan nol sebagai true. Dan jika truediubah menjadi angka, hasilnya selalu 1.

Contoh 5: Konversi nol 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 yang lain sesuai kebutuhan Anda. Jenis konversi yang Anda lakukan secara manual dikenal sebagai jenis konversi eksplisit.

Di JavaScript, konversi tipe eksplisit dilakukan menggunakan metode built-in.

Berikut adalah beberapa metode umum untuk konversi eksplisit.

1. Ubah 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 nullnilai menghasilkan 0 . Sebagai contoh,

 let result; result = Number(null); console.log(result); // 0 let result = Number(' ') console.log(result); // 0

Jika sebuah 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

Catatan : 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. Konversikan ke String Secara Eksplisit

Untuk mengonversi tipe data lain menjadi string, Anda bisa 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"

Catatan : String()mengambil nulldan undefineddan mengubahnya menjadi string. Namun, toString()memberikan kesalahan saatnull are passed.

3. Konversikan ke Boolean Eksplisit

Untuk mengonversi tipe data lain menjadi boolean, Anda bisa menggunakan Boolean().

Dalam JavaScript, undefined, null, 0, NaN, ''bertobat untuk 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 memberi 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 tersebut menunjukkan konversi nilai yang berbeda menjadi String, Number, dan Boolean dalam 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

Anda akan belajar tentang konversi objek dan array ke tipe data lain di tutorial selanjutnya.

Kunjungi contoh berikut untuk mempelajari lebih lanjut:

  • Tanggal JavaScript ke Angka
  • Tanggal JavaScript ke String

Artikel yang menarik...