kembali ke pelajaran

Panggilan dalam konteks *array*

pentingnya: 5

Apa hasilnya? Mengapa demikian?

let arr = ["a", "b"];

arr.push(function() {
  alert( this );
})

arr[2](); // ?

Panggilan arr[2]() secara sintaks adalah obj[method]() yang sudah ada dari lama, dalam peran sebagai obj kita memiliki arr, dan dalam peran sebagai method kita memiliki 2.

Jadi kita memiliki sebuah panggilan fungsi arr[2] sebagai sebuah metode objek. Secara alami, fungsi terebut menerima this yang mereferensikan ke arr and menghasilakn array berikut:

let arr = ["a", "b"];

arr.push(function() {
  alert( this );
})

arr[2](); // a,b,function(){...}

Array tersebut memiliki 3 nilai: sejak awal array tersebut memiliki dua nilai, plus fungsi.