Object dan Array (JS).
Salah satu hal paling crusial dalam komputer adalah type data. Ya type data, bagaimana tidak? Pada hakikatnya semua yang kita lakukan ketika berinteraksi dengan komputer adalah berinteraksi dengan type data.
Pada javascript hampir semuanya berbentuk object, dan inilah salah satu yang membuat kebanyakan orang bingung, termasuk saya.
Lah? Terus apa yang bikin beda?
Salah satu bedanya adalah, array digunakan untuk numerical indexed data. Jika ingin menggunakan non-numeric key, gunakan object.
Mari kita lihat sedikit supaya lebih concret.
var array = Array();
array['A'] = "Apel";
array['B'] = "Blewah";
console.log(array.length);Console tidak akan mengeluarkan output 2 tapi 0. Kenapa? karena tidak ada element yang dimasukkan kedalam array, hanya properti baru yang di masukkan kedalam array object.
So just to be clear, it is just a matter of indexing ( numerical = array <> string = object)
That different plays an important roll on which type to use for any given situation.
Jadi, sesuai dengan kebutuhan saja.
Ada beberapa keadaan dimana kita harus menggunakan object ataupun array.
Array atau object
- Jika yang kita inginkan menyimpan list suatu element yang type datanya sama, maka gunakan array.
- Begitu juga sebaliknya, jika yang kita yang kita butuhkan adalah suatu object yang mempunyai banyak properties maka gunakan object. Selain karena sangat efisien dalam memori ini juga akan sangat cepat.
- Khusus untuk integer, apakah dia di simpan dalam array atau object, dia akan lebih mudah di iterasikan.
Tips saat menggunakan object
- Membuat object dengan constructor function, ini akan memastikan bahwa function tersebut adalah object, jadi kita tidak akan mudah untuk tiba tiba merubah element dari object tersebut. As a benefit, object yang dibuat dengan constructor function sedikit lebih cepat dibandingkan object yang dibuat menggunakan Object.create().
- Reserved words are allowed as property names, yang artinya kita bisa menggunakan object nama yang sama dengan language-reserved words. Contohnya kita dapat membuat property object seperti:
let obj = {
for: 1,
let: 2,
return: 3
}
alert( obj.for + obj.let + obj.return ); // 6Tips saat menggunakan array
- Array literals biasanya baik untuk ukurang kecil sampai menengah karena memberi hint ke VM tentang ukuran dan type dari arraynya.
- Bukan ide yang bagus untuk mencampurkan beberapa element dalam satu array, seperti
var arr = [1, “1”, undefined, true, “true”] - Saat menggunakan sparse array, perlu diketahui bahwa mengakses elemen di dalamnya jauh lebih lambat daripada dalam dense array atau full array. Itu karena V8 tidak mengalokasikan backing store untuk elemennya jika hanya beberapa yang digunakan.
Mungkin sedikit yang bisa saya share disini, tapi bagi saya ini adalah ilmu dari array dan object yang baru saya ketahui.
javascript.info
