JavaScript Tutorial

JavaScript ceci


Exemple

constante personne = {
prénom : « John »,
nom : « Biche »,
identifiant : 5566,
nomcomplet : fonction() {
retour ce.prénom +  »  » + ce.nom de famille;
}
} ;

Essayez-le vous-même »


Qu’est-ce que ce?

En JavaScript, le this mot-clé fait référence à un objet.

Qui l’objet dépend de comment this est invoqué (utilisé ou appelé).

Le this mot-clé fait référence à différents objets selon la façon dont il est utilisé :

Dans une méthode objet, this se réfère à la objet.
Seul, this se réfère à la objet global.
Dans une fonction, this se réfère à la objet global.
Dans une fonction, en mode strict, this est undefined.
Dans un événement, this se réfère à la élément qui a reçu l’événement.
Des méthodes comme call(), apply()et bind() peut se référer this pour n’importe quel objet.

Note

this n’est pas une variable. C’est un mot clé. Vous ne pouvez pas modifier la valeur de this.


ce dans une méthode

Lorsqu’il est utilisé dans une méthode objet, this se réfère à la objet.

Dans l’exemple en haut de cette page, this se réfère à la personne objet.

Parce que le nom et prénom méthode est une méthode de personne objet.

nomcomplet : fonction() {
retour ce.prénom +  »  » + ce.nom de famille;
}

Essayez-le vous-même »


ce Seul

Lorsqu’il est utilisé seul, this se réfère à la objet global.

Parce que this s’exécute dans la portée globale.

Dans une fenêtre de navigateur, l’objet global est [object Window]:

Dans mode strictlorsqu’il est utilisé seul, this se réfère également à la objet global:


ce dans une fonction (par défaut)

Dans une fonction, le objet global est la liaison par défaut pour this.

Dans une fenêtre de navigateur, l’objet global est [object Window]:



ce dans une fonction (stricte)

Javascript mode strict n’autorise pas la liaison par défaut.

Ainsi, lorsqu’il est utilisé dans une fonction, en mode strict, this est undefined.


ce dans les gestionnaires d’événements

Dans les gestionnaires d’événements HTML, this fait référence à l’élément HTML qui a reçu l’événement :

Exemple


Cliquez pour me supprimer !

Essayez-le vous-même »


Liaison de méthode d’objet

Dans ces exemples, this est le objet personne:

Exemple

constante personne = {
prénom : « Jean »,
nom : « Biche »,
identifiant : 5566,
maFonction : fonction() {
retour ce;
}
} ;

Essayez-le vous-même »

Exemple

constante personne = {
prénom : « John »,
nom : « Biche »,
identifiant : 5566,
nomcomplet : fonction() {
retour ce.prénom +  »  » +
ce.nom de famille;
}
} ;

Essayez-le vous-même »

c’est à dire this.firstName est le prénom propriété de ce (l’objet personne).


Liaison de fonction explicite

Le call() et apply() Les méthodes sont des méthodes JavaScript prédéfinies.

Ils peuvent tous deux être utilisés pour appeler une méthode objet avec un autre objet comme argument.

L’exemple ci-dessous appelle person1.fullName avec person2 comme argument, ce fait référence à person2, même si fullName est une méthode de person1 :

Exemple

const personne1 = {
nomcomplet : fonction() {
retourne this.firstName +  »  » + this.lastName ;
}
}

const personne2 = {
prénom: »John »,
nom: « Biche »,
}

// Retourne « John Doe »:
personne1.nomcomplet.appel(personne2);

Essayez-le vous-même »


Fonction d’emprunt

Avec le bind() méthode, un objet peut emprunter une méthode à un autre objet.

Cet exemple crée 2 objets (personne et membre).

L’objet membre emprunte la méthode fullname à l’objet person :

Exemple

const personne = {
prénom: »John »,
nom: « Biche »,
nomcomplet : fonction () {
retourne this.firstName +  »  » + this.lastName ;
}
}

membre constant = {
Prénom: »Hege »,
nom : « Nilsen »,
}

let fullName = person.fullName.bind(member);

Essayez-le vous-même »


Ce Priorité

Pour déterminer quel objet this fait référence à; utilisez la priorité d’ordre suivante.

Priorité Objet
1 lier()
2 appliquer() et appeler()
3 Méthode objet
4 Portée mondiale

Est this dans une fonction appelée à l’aide de bind() ?

Est this dans une fonction appelée à l’aide de apply() ?

Est this dans une fonction appelée en utilisant call() ?

Est this dans une fonction objet (méthode) ?

Est this dans une fonction dans la portée globale.

#JavaScript #ceci

Articles similaires

Bouton retour en haut de la page