1
00:00:00,810 --> 00:00:16,980
Bienvenue dans la dernière vidéo, nous examinons la deuxième règle pour déterminer la valeur du mot clé que la règle implicite de la règle implicite affirme que lorsque le mot clé est à l'intérieur d'un objet déclaré sa valeur sera toujours l'objet parent le plus proche.

2
00:00:16,980 --> 00:00:23,710
Une chose à noter ces règles que nous utilisons ne sont pas une partie officielle de la spécification JavaScript afin que vous ne les trouverez pas là.

3
00:00:23,730 --> 00:00:28,910
Ces règles sont juste un moyen utile de garder une trace de ce que la valeur du mot clé que c'est.

4
00:00:29,310 --> 00:00:36,850
À la fin de la dernière vidéo, nous avons vu un exemple de lorsque le contexte du mot clé a changé de façon inattendue dans notre méthode Say hello.

5
00:00:36,940 --> 00:00:44,760
La propriété du premier nom est devenue non définie parce que le mot-clé this se référait maintenant à l'objet chien.

6
00:00:44,760 --> 00:00:53,210
Alors, que voulons-nous explicitement définir la valeur du mot-clé ce afin que nous puissions le forcer à être l'objet personne au lieu de l'objet chien.

7
00:00:53,220 --> 00:00:56,250
C'est là que la troisième règle intervient.

8
00:00:56,250 --> 00:01:08,250
Chaque fois que vous voyez l'appel appliquer ou bind méthodes, vous pouvez facilement déterminer ce que la valeur du mot-clé ce sera parce que vous obtenez de le définir comme le premier paramètre à appeler appliquer et lier.

9
00:01:08,700 --> 00:01:11,150
Avant de comparer et de comparer ces trois méthodes.

10
00:01:11,220 --> 00:01:24,740
Une chose à retenir est qu'ils ne peuvent être utilisés que sur les fonctions call apply et bind ou sur des méthodes qui ne peuvent être utilisées que par des fonctions non par un autre type de données comme des booléens ou des objets.

11
00:01:24,750 --> 00:01:32,670
La première méthode que nous allons parler est appeler le premier argument à la méthode d'appel est ce que vous voulez que la valeur du mot-clé que ce soit.

12
00:01:32,670 --> 00:01:37,370
Ceci est communément appelé ce ARG et peut être réglé sur ce que vous voulez.

13
00:01:37,530 --> 00:01:50,550
Les arguments après cette ARG sont tous les paramètres que vous voulez passer à la fonction que vous changez le contexte du mot-clé que l'intérieur des sons confondants, mais je vais faire plus de sens quand nous voyons un exemple.

14
00:01:50,550 --> 00:01:57,080
Et comme une fonction peut avoir un nombre infini d'arguments, nous séparons chacun d'eux avec une virgule lors de l'utilisation de l'appel.

15
00:01:57,150 --> 00:02:03,230
Enfin, lorsque la méthode d'appel est utilisée sur une fonction, cette fonction est immédiatement appelée.

16
00:02:03,230 --> 00:02:04,600
Passons maintenant à un complot.

17
00:02:04,920 --> 00:02:15,630
Appliquer est presque identique à appeler, sauf appliquer seulement prend deux paramètres au plus le premier juste comme l'appel est ce que nous voulons que la valeur du mot-clé que ce soit.

18
00:02:15,630 --> 00:02:17,700
Nous appelons cela ARG.

19
00:02:17,880 --> 00:02:25,600
Le second est un tableau d'arguments que nous voulons passer à la fonction dans laquelle nous changeons la valeur du mot-clé this.

20
00:02:25,680 --> 00:02:27,060
Examinons maintenant bind.

21
00:02:27,330 --> 00:02:32,490
Bind est presque identique à call sauf au lieu d'invoquer la fonction immédiatement.

22
00:02:32,550 --> 00:02:35,070
Bind renvoie une définition de fonction.

23
00:02:35,490 --> 00:02:38,410
Reprenons rapidement ce que je veux dire par la définition de la fonction.

24
00:02:38,430 --> 00:02:43,270
Je vais faire une fonction appelée première fonction et il va retourner la chaîne Bonjour.

25
00:02:43,650 --> 00:02:47,570
Si je n'appelle pas la fonction mais examine la variable i created.

26
00:02:47,760 --> 00:02:50,480
Je suis retourné une définition de fonction.

27
00:02:50,490 --> 00:02:59,710
Bind est une fonction extrêmement puissante car nous pouvons voir des fonctions avec une valeur différente du mot clé this et les invoquer à un moment ultérieur.

28
00:02:59,850 --> 00:03:08,720
Bind est très utile lorsque vous travaillez avec un code asynchrone comme timeout et est le bloc de construction pour les techniques de programmation plus avancées comme couriering.

29
00:03:08,790 --> 00:03:15,780
Récapitulons rapidement ces trois méthodes appel appliquer et bind sont utilisés pour explicitement dit la valeur du mot-clé.

30
00:03:15,810 --> 00:03:21,000
Cela nous les utilisons quand nous voulons un contrôle total sur ce que le mot-clé ce référer à.

31
00:03:21,300 --> 00:03:32,940
Ainsi, il aura la priorité sur les deux premières règles appeler et appliquer immédiatement invoquer la fonction sur laquelle ils sont appelés alors que bind ou retourner une nouvelle définition de fonction avec la valeur du mot-clé.

32
00:03:32,940 --> 00:03:36,640
Ceci définit explicitement enfin appel et bind.

33
00:03:36,660 --> 00:03:42,430
Sauf un nombre infini de paramètres alors que l'application ne prend que deux dans la vidéo suivante.

34
00:03:42,450 --> 00:03:48,150
Nous allons voir un exemple d'appel et comment nous pouvons l'utiliser pour définir explicitement la valeur du mot clé this.
