#3 dari 40 Esensi Javascript — Tipe Data Primitif vs Referensi
Dalam salah satu artikel saya sebelumnya tentang tipe Data , istilah primitives stored by value and non-primitives stored by referencedigunakan. Ini adalah konsep penting untuk dipahami jika Anda baru mengenal JS dan terutama jika Anda akan mengikuti wawancara JS. Artikel ini bertujuan untuk menjelaskan apa perbedaan antara Tipe Data Primitif dan Tipe Data Referensi.
Ngomong-ngomong, saya punya Instagram Reel dan Youtube Short di artikel ini, jika kalian lebih suka, silakan klik di sini: Call Stack — Insta Reel , Call Stack — Youtube Short.
Bagaimana Primitif ditangani dalam Javascript
Tipe Data Primitif adalah — string, angka, boolean, tidak terdefinisi, BigInt, simbol, dan null. Saat Anda mendeklarasikan salah satunya dalam Javascript; itu disimpan (dalam jumlah tetap dari memori yang tersedia) di tumpukan. Tipe data primitif pada tumpukan diidentifikasi dengan nama variabel yang Anda gunakan untuk deklarasi di program Anda. Dengan setiap tipe data primitif yang Anda buat, data ditambahkan ke tumpukan. Membingungkan? Mari kita pahami menggunakan contoh variabel a,b di bawah ini.
let x = 5 // Assign `5` to `x`
let y = x // Copy the value of `x` to `y`
y = 55 // Assign `55`
console.log(x, y) // Value of => 5 and Value of y = 55
Masih sulit menggenggam? Mari kita coba cara lain — Katakanlah, Anda memiliki 2 hard copy formulir dengan nama Anda dan mereka duduk di tumpukan dengan formulir lain. Sekarang ketika Anda menemukan satu dari 2 formulir dengan nama Anda dari tumpukan dan menulis sesuatu di atasnya, formulir lainnya tidak akan mendapatkan pembaruan yang sama.
Bagaimana Tipe Data Referensi ditangani dalam Javascript
Tipe data referensi seperti arrays, functions, collections and other objectsbersifat dinamis. Itu berarti mereka tidak memiliki ukuran tetap.
Saat Anda membuat variabel dan memberinya nilai yang merupakan tipe data referensi, komputer tidak secara langsung menyimpan tipe data tersebut dalam variabel tersebut (seperti halnya dengan tipe primitif). Sebagai gantinya, sebuah penunjuk ditugaskan yang menunjuk ke lokasi tipe Data itu di memori. Mari kita periksa dalam contoh di bawah ini.
// Assign the reference of a new object to `carOne`
let carOne = {
name: 'Tesla Model 3',
year: 2021,
color: 'White'
}
// Copy the reference of the object inside `carOne` to new variable `carTwo`
let carTwo = carOne
CarTwo.name = 'Tesla Model S' // Modify the contents of the object `carTwo`
cosole.log(carOne) // This carOne.name ALSO changed.
// => {name: 'Tesla Model S',year: 2021, color: 'White'}
Karena objek sudah ada di heap, carOnedan carTwokeduanya akan menunjuk ke objek yang sama. Dan saat ini, kami memodifikasi carTwo.name, carOne.namememiliki nilai yang sama karena itu adalah objek yang sama.
Kesimpulan
Semoga ini menjelaskan konsep Tipe Data Primitif vs Tipe Data Referensi, ini sering menjadi alasan di balik bug seperti " referensi penunjuk nol " dalam aplikasi kontemporer.
Sosial:
- Saluran YouTube Toronto Dev
- Halaman Instagram Toronto Dev

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



































