Dans ce tutoriel, vous allez découvrir la valeur JavaScript this et la comprendre clairement dans différents contextes.
Si vous avez travaillé avec d’autres langages de programmation tels que Java, C# ou PHP, vous connaissez déjà le mot-clé this.
Dans ces langages, le mot-clé this représente l’instance actuelle de la classe. Et il n’est pertinent qu’à l’intérieur de la classe.
JavaScript possède également ce mot-clé. Cependant, le mot-clé this en JavaScript se comporte différemment des autres langages de programmation.
En JavaScript, vous pouvez utiliser le mot-clé this dans les contextes global et de fonction. De plus, le comportement du mot-clé this change entre les modes strict et non-strict.
Qu’est-ce que le mot-clé this
En général, this fait référence à l’objet dont la fonction est une propriété. En d’autres termes, this fait référence à l’objet qui est en train d’appeler la fonction.
var address =
{
entreprise : "Dev",
ville : "Paris",
adresse()
{
return this.entreprise +" "+ this.ville;
}
var resultat = address.ville();
console.log(resultat);
};
Contexte global
Dans le contexte global, le ceci fait référence à l’objet global, qui est l’objet fenêtre sur le navigateur web ou l’objet global sur Node.js.
Ce comportement est cohérent dans les modes strict et non strict. Voici la sortie sur le navigateur web :
console.log(this === window) ; // true
Si vous attribuez une propriété à cet objet dans le contexte global, JavaScript ajoutera la propriété à l’objet global, comme le montre l’exemple suivant :
this.color= 'rouge' ;
console.log(window.color) ; // 'Red' (rouge)
Langage de code : JavaScript (javascript)
Contexte de la fonction
En JavaScript, vous pouvez appeler une fonction de la manière suivante :
- Invocation de fonction
- Invocation d’une méthode
- Invocation d’un constructeur
- Invocation indirecte
Chaque invocation de fonction définit son propre contexte. Par conséquent, elle se comporte différemment.