Виклик arr[2]() це - синтаксично старий-добрий obj[method](), в ролі obj ми маємо arr, а в ролі method ми маємо 2.
Ми маємо виклик функції arr[2] як методу об’єкту. Відповідно, він отримає в якості this об’єкт arr та виведе масив:
let arr = ["a", "b"];
arr.push(function() {
alert( this );
})
arr[2](); // a,b,function(){...}Масив має 3 елемента: початкових 2, плюс функція.