Object dan Array (JS).

Umar
Umar
Sep 2, 2018 · 2 min read

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

  1. Jika yang kita inginkan menyimpan list suatu element yang type datanya sama, maka gunakan array.
  2. 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.
  3. Khusus untuk integer, apakah dia di simpan dalam array atau object, dia akan lebih mudah di iterasikan.

Tips saat menggunakan object

  1. 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().
  2. 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 ); // 6

Tips saat menggunakan array

  1. Array literals biasanya baik untuk ukurang kecil sampai menengah karena memberi hint ke VM tentang ukuran dan type dari arraynya.
  2. Bukan ide yang bagus untuk mencampurkan beberapa element dalam satu array, seperti var arr = [1, “1”, undefined, true, “true”]
  3. 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.

https://stackoverflow.com/questions/874205/why-can-i-add-named-properties-to-an-array-as-if-it-were-an-object

javascript.info

    Umar

    Written by

    Umar

    https://t.me/umarudy

    Welcome to a place where words matter. On Medium, smart voices and original ideas take center stage - with no ads in sight. Watch
    Follow all the topics you care about, and we’ll deliver the best stories for you to your homepage and inbox. Explore
    Get unlimited access to the best stories on Medium — and support writers while you’re at it. Just $5/month. Upgrade