Maintenant que nous avons une bonne idée de la façon dont la première règle fonctionne lorsque le mot-clé est en dehors d'un objet déclaré, voyons ce qui se passe lorsque le mot clé est à l'intérieur d'un objet déclaré.
La deuxième règle que nous appelons la règle implicite ou objet indique que lorsque le mot clé est trouvé à l'intérieur d'un objet déclaré la valeur du mot-clé ce sera toujours l'objet parent le plus proche qui était beaucoup de mots.
Voyons ce que nous entendons par là en regardant le code sur la diapositive.
Ici, nous avons un objet Person mais la clé est un prénom.
Dites bonjour et déterminez le contexte.
Commençons par la méthode say hi à l'intérieur de cette fonction, nous retournons la valeur de la chaîne.
Salut concaténée avec la valeur de la propriété de premier nom sur le mot-clé.
Puisque nous voyons que le mot-clé est à l'intérieur d'un objet déclaré, nous regardons l'objet parent le plus proche pour déterminer la valeur du mot-clé.
Ceci nous pouvons voir que l'objet parent le plus proche est la variable de personne qui signifie que la valeur du mot-clé.
Il s'agit de l'objet personne.
Examinons maintenant la méthode de détermination du contexte.
Cette fonction doit retourner true ou false.
Notez que nous utilisons des triples égaux qui seront toujours évalués à un booléen.
Que pensez-vous que cette fonction va revenir.
Pensez à l'endroit où vous voyez le mot-clé.
C'est à l'intérieur ou à l'extérieur d'un objet déclaré.
Nous voyons que le mot-clé est à l'intérieur de l'objet personne, ce qui signifie qu'il sera égal à l'objet personne.
Donc, cette expression doit être évaluée à true avant de passer à autre chose.
Prenez une seconde pour examiner ce code et le mettre dans la console de chrome ou l'éditeur de texte pour voir exactement ce qui se passe.
Maintenant, nous avons dit dans la règle implicite que la valeur du mot-clé ce sera toujours l'objet parent le plus proche.
Mais voyons comment les choses deviennent un peu délicates avec les objets imbriqués.
Passons à travers ce code.
Ici, nous voyons que nous avons une variable de personne, mais cette fois la propriété de premier nom est appelée.
Une fois de plus nous avons une méthode hi et déterminons la méthode de contexte.
Prenez une seconde et pensez à ce que ces fonctions retournent quand appelé.
Remarquez maintenant que nous avons une clé supplémentaire dans l'objet personne appelé chien.
La valeur de l'âne est en fait un autre objet.
Examinons donc l'objet imbriqué à l'intérieur de l'objet chien.
Nous avons une clé de dire bonjour qui est une fonction qui retourne la chaîne Hello joint avec le mot clé.
Cela en utilisant les deux règles pour déterminer la valeur du mot-clé cette pause de la vidéo et essayer de comprendre ce que la valeur du mot-clé que l'intérieur de la fonction dire bonjour est.
Donc, vous venez avec.
Quel est le mot-clé qui se réfère à l'objet personne l'objet chien.
Ou peut-être l'objet global.
Eh bien, revenons à notre première règle qui indique que si le mot-clé n'est pas à l'intérieur d'un objet déclaré, il sera l'objet global.
Dans ce cas, nous voyons que le mot-clé est à l'intérieur d'un objet déclaré appelé Person.
Nous passons donc à la deuxième règle.
La deuxième règle indique que la valeur du mot clé this sera toujours l'objet parent le plus proche.
C'est là que les choses deviennent un peu délicates même si l'objet déclaré est personne.
Il ya un objet à l'intérieur de lui appelé Dog qui est l'objet parent le plus proche de la méthode say hello.
Maintenant que nous savons que le mot-clé this dans la méthode say hello se réfère à l'objet dog, quelle est la valeur de cette substance.
Prénom dans la méthode say hello.
Comme l'objet chien n'a pas de clé de prénom, la valeur sera indéfinie.
Alors pourquoi ne pas appeler la méthode dire bonjour en tapant le chien personne.
Dites bonjour, nous pouvons le voir revenir.
Bonjour non défini.
Nous pouvons également voir que notre fonction de contexte déterminée à l'intérieur de l'objet chien renvoie false car le mot-clé this à l'intérieur de la fonction de contexte de détermination ne fait plus référence à l'objet personne.
Alors, comment pouvons-nous résoudre ce problème ou si nous voulons que notre méthode Say hello retourne.
Bonjour le froid au lieu de hello undefined vous auriez besoin d'une certaine manière de changer explicitement la valeur du mot-clé ceci et qui est exactement ce que les fonctions d'appel et de liaison d'appel peuvent faire pour nous dans la prochaine vidéo.
Nous allons voir la troisième règle pour la détermination de la valeur du mot-clé ce en utilisant appel appliquer et lier.
Les choses deviennent passionnantes.
À la prochaine vidéo.