назад до уроку

Виклик в контексті масиву

важливість: 5

Яким буде результат? Чому?

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

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

arr[2](); // ?

Виклик 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, плюс функція.