Виклик в контексті масиву
важливість: 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, плюс функція.