Appel dans un contexte de tableau
importance: 5
Quel est le résultat ? Et pourquoi ?
let arr = ["a", "b"];
arr.push(function() {
alert( this );
});
arr[2](); // ?
L’appel de arr[2]() est syntaxiquement le bon vieux obj[method](), dans le rôle de obj on a arr, et dans le rôle de method on a 2.
Nous avons donc un appel de la fonction arr[2] comme méthode d’objet. Naturellement, il reçoit this en référençant l’objet arr et sort le tableau :
let arr = ["a", "b"];
arr.push(function() {
alert( this );
})
arr[2](); // a,b,function(){...}
Le tableau a 3 valeurs. Il en avait initialement deux, plus la fonction.