Type Conversion 101: Memahami Pemaksaan dan Casting dalam JavaScript
Pemaksaan tipe dan pengecoran tipe adalah konsep dalam pemrograman yang mengacu pada proses konversi satu tipe data ke tipe lainnya.
Ketik Paksaan:
Pemaksaan tipe mengacu pada konversi otomatis tipe data yang terjadi di JavaScript ketika berbagai tipe data digunakan bersama dalam suatu operasi. Misalnya, jika angka dan string dijumlahkan, JavaScript akan secara otomatis mengonversi angka menjadi string sehingga operasi dapat dilakukan.
let num = 5;
let str = "3";
console.log(num + str); //output: "53"
- Menggunakan operator == atau != untuk perbandingan, yang melakukan pemaksaan tipe sebelum membuat perbandingan
- Menggunakan operator unary plus (
+) sebelum nilai akan melakukan pemaksaan tipe ke Number. Namun,+tanda tersebut hanya dapat muncul satu kali dan tidak boleh diikuti oleh spasi putih. Misalnya:
let x = "5";
let y = +x;
console.log(typeof y); // output: number
Di sisi lain, pengecoran tipe mengacu pada konversi tipe data secara eksplisit. Ini dilakukan dengan menggunakan fungsi casting seperti Number(), String(), Boolean()danSymbol()
let str = '5';
let num = Number(str);
console.log(num); //output: 5
Number():Number()Fungsi ini digunakan untuk mengonversi nilai non-numerik menjadi nilai numerik. Misalnya, jika Anda ingin mengonversi nilai string “10” menjadi angka, Anda akan menggunakan fungsiNumber()seperti ini:
let x = "5";
let y = x+10 // output: 510
let z= Number(x)+10;
console.log(y); // output: 510
console.log(z); // output: 15
let intValue = parseInt("3.14");
console.log(floatValue); // Output: 3
console.log(parseInt('22.5')); // Output: 22
console.log(parseFloat('22.5')); // Output: 22.5
console.log(Number('22.5')); // Output: 22.5
console.log(parseInt('070')); // Output: 70
console.log(parseFloat('070')); // Output: 70
console.log(Number('070')); // Output: 70
console.log(parseInt('1234blue')); // Output: 1234
console.log(parseFloat('1234blue')); // Output: 1234
console.log(Number('1234blue')); // Output: NaN
console.log(parseInt('0xFF')); // Output: 255
console.log(parseFloat('0xFF')); // Output: 0
console.log(Number('0xFF')); // Output: 255
console.log(parseInt("10 20 30")); // 10
console.log(parseFloat("10 20 30")); // 10
console.log(Number("10 20 30")); // NaN
let num = 10;
console.log(String(num)); // "10"
let bool = true;
console.log(String(bool)); // "true"
let obj = {name: "John"};
console.log(String(obj)); // "[object Object]"
let arr = [1, 2, 3];
console.log(String(arr)); // "1,2,3"
let date = new Date();
console.log(String(date)); // "Sun Jan 29 2023 18:52:01 GMT+0000 (Coordinated Universal Time)"
let value = 0;
console.log(Boolean(value)); // false
value = "hello";
console.log(Boolean(value)); // true
value = undefined;
console.log(Boolean(value)); // false
value = {};
console.log(Boolean(value)); // true
value = -1;
console.log(Boolean(value)); // true
Gunakan perbandingan kesetaraan yang ketat ===, bukan perbandingan kesetaraan abstrak ==. Hindari mengandalkan pemaksaan tipe implisit JavaScript, terutama dalam operasi aritmatika, dan selalu gunakan pengecoran tipe jika diperlukan.

![Apa itu Linked List? [Bagian 1]](https://post.nghiatu.com/assets/images/m/max/724/1*Xokk6XOjWyIGCBujkJsCzQ.jpeg)



































