This doit être vu comme un paramétre.
This permet d'économiser du code en mémoire.
Exemple de code
- let user = { name: "John", f: say };
- let admin = { name: "Admin", f: say };
- function say(what="Hi") {
- console.log(`${what} ${this.name}`);
- }
- // these calls have different this
- // "this" inside the function is the object "before the dot"
- user.f("Hello"); // John (this == user)
- admin.f("Please"); // Admin (this == admin)
- admin['f']();
Pour connaitre la valeur du paramétre this. Il faut regarder l'objet qui appelle la fonction !
Erreur classique.
Il est important de comprendre que this n'est pas lié à user lors de la définition
Comme un paramétre classique, c'est lors de l'appel de la méthode que l'on connait la valeur de this.