1
00:00:00,950 --> 00:00:06,390
Agora que temos uma boa idéia de como a primeira regra funciona quando a palavra-chave

2
00:00:06,420 --> 00:00:12,940
está fora de um objeto declarado, vejamos o que acontece quando a palavra-chave está dentro de um objeto declarado.

3
00:00:12,960 --> 00:00:18,600
A segunda regra que chamamos de regra implícita ou de objeto indica que, quando a

4
00:00:18,660 --> 00:00:26,120
palavra-chave encontrada dentro de um objeto declarado, o valor da palavra-chave será sempre o objeto principal mais próximo que foi

5
00:00:26,130 --> 00:00:27,100
muitas palavras.

6
00:00:27,300 --> 00:00:30,640
Vamos ver o que queremos dizer com isso, olhando o código no slide.

7
00:00:30,660 --> 00:00:33,590
Aqui temos um objeto Pessoa, mas a chave é um primeiro nome.

8
00:00:33,630 --> 00:00:35,910
Diga oi e determine o contexto.

9
00:00:36,090 --> 00:00:41,350
Vamos começar com o método de dar oi dentro dessa função, estamos retornando o valor da string.

10
00:00:41,350 --> 00:00:45,960
Oi concatenado com o valor da propriedade do primeiro nome na palavra-chave.

11
00:00:45,960 --> 00:00:52,650
Isto porque vemos que a palavra-chave esta está dentro de um objeto declarado, observamos o objeto pai

12
00:00:52,740 --> 00:00:55,710
mais próximo para descobrir o valor da palavra-chave.

13
00:00:55,710 --> 00:01:02,640
Isso podemos ver que o objeto principal mais próximo é a variável pessoa, o que significa que o valor

14
00:01:02,640 --> 00:01:03,210
da palavra-chave.

15
00:01:03,210 --> 00:01:07,010
Este é o objeto da pessoa.

16
00:01:07,020 --> 00:01:09,520
Agora, vamos examinar o método de determinar o contexto.

17
00:01:09,540 --> 00:01:11,970
Esta função deve retornar verdadeira ou falsa.

18
00:01:11,970 --> 00:01:16,260
Observe que estamos usando triplos iguais que sempre avaliarão para um booleano.

19
00:01:16,260 --> 00:01:18,320
O que você acha que esta função retornará.

20
00:01:18,330 --> 00:01:19,940
Pense em onde você vê a palavra-chave.

21
00:01:19,940 --> 00:01:24,290
Isso é dentro ou fora de um objeto declarado.

22
00:01:24,390 --> 00:01:29,850
Vemos que a palavra-chave está dentro do objeto da pessoa, o que significa que igualará o

23
00:01:29,940 --> 00:01:30,780
objeto da pessoa.

24
00:01:30,900 --> 00:01:35,390
Então, essa expressão deve avaliar a verdadeira antes de seguir em frente.

25
00:01:35,430 --> 00:01:41,100
Dê um segundo para rever este código e colocá-lo no console cromado ou editor de texto para ver exatamente o

26
00:01:41,100 --> 00:01:41,840
que está acontecendo.

27
00:01:42,200 --> 00:01:47,370
Agora, dizemos na regra implícita que o valor da palavra-chave este sempre será o objeto

28
00:01:47,400 --> 00:01:48,300
principal mais próximo.

29
00:01:48,510 --> 00:01:52,000
Mas vamos ver como as coisas ficam um pouco complicadas com os objetos aninhados.

30
00:01:52,500 --> 00:01:53,940
Vamos passar por este código.

31
00:01:53,970 --> 00:01:58,960
Aqui vemos que temos uma variável de pessoa, mas desta vez a propriedade do primeiro nome é chamada.

32
00:01:59,040 --> 00:02:02,700
Mais uma vez, temos um método de alto método e método de contexto.

33
00:02:02,700 --> 00:02:06,570
Dê um segundo e pense sobre o que essas funções irão retornar quando chamado.

34
00:02:06,570 --> 00:02:10,770
Agora note que temos uma chave adicional no objeto da pessoa chamado cão.

35
00:02:10,890 --> 00:02:14,110
O valor do burro é realmente outro objeto.

36
00:02:14,190 --> 00:02:19,180
Então, vamos examinar o objeto aninhado dentro do objeto do cão.

37
00:02:19,200 --> 00:02:24,360
Nós temos uma chave de dizer olá, que é uma função que retorna a seqüência de caracteres Hello juntou-se à palavra-chave.

38
00:02:24,480 --> 00:02:32,130
Isso, usando as duas regras para determinar o valor da palavra-chave, pausa o vídeo e

39
00:02:32,130 --> 00:02:38,870
tenta descobrir qual é o valor da palavra-chave dentro da função dizer "Olá".

40
00:02:38,880 --> 00:02:40,230
Então, você inventaria.

41
00:02:40,410 --> 00:02:44,230
Qual é a palavra-chave que se refere ao objeto de pessoa objeto do cão.

42
00:02:44,280 --> 00:02:45,720
Ou talvez o objeto global.

43
00:02:45,930 --> 00:02:51,090
Bem, voltemos à nossa primeira regra, que afirma que, se a palavra-chave não estiver dentro

44
00:02:51,120 --> 00:02:53,820
de um objeto declarado, será o objeto global.

45
00:02:53,820 --> 00:02:58,520
Neste caso, vemos que a palavra-chave está dentro de um objeto declarado chamado Pessoa.

46
00:02:58,770 --> 00:03:01,090
Então, vamos para a segunda regra.

47
00:03:01,170 --> 00:03:07,050
A segunda regra indica que o valor da palavra-chave será sempre o objeto principal mais próximo.

48
00:03:07,050 --> 00:03:11,850
É aí que as coisas ficam um pouco complicadas mesmo que o objeto declarado seja pessoa.

49
00:03:11,940 --> 00:03:19,060
Existe um objeto dentro dele, chamado Dog, que é o objeto pai mais próximo ao método say hello.

50
00:03:19,110 --> 00:03:25,680
Agora que sabemos que a palavra-chave este dentro do método dizer hello se refere ao objeto cão, qual

51
00:03:25,680 --> 00:03:27,530
é o valor desse material.

52
00:03:27,540 --> 00:03:32,180
Primeiro nome dentro do método say hello.

53
00:03:32,610 --> 00:03:37,870
Uma vez que o objeto cão não possui uma chave de primeiro nome, o valor será indefinido.

54
00:03:38,160 --> 00:03:42,230
Então, por que não chamamos o método de dizer, escrevendo cão pessoa.

55
00:03:42,270 --> 00:03:44,830
Diga olá, podemos ver isso retornar.

56
00:03:44,830 --> 00:03:46,850
Olá indefinido.

57
00:03:47,580 --> 00:03:54,750
Também podemos ver que nossa função de contexto determinada dentro do objeto do cão está retornando

58
00:03:54,750 --> 00:04:02,450
falso porque a palavra-chave dentro da função de contexto determinar não se refere mais ao objeto da pessoa.

59
00:04:04,050 --> 00:04:07,760
Então, como podemos corrigir isso ou se queremos que o nosso método Say hello seja retornado.

60
00:04:07,770 --> 00:04:14,070
Olá frio em vez de hello indefinido, você precisaria de alguma maneira de mudar explicitamente o valor da

61
00:04:14,080 --> 00:04:21,840
palavra-chave e isso é exatamente o que a chamada aplica e as funções de ligação podem fazer para nós no próximo vídeo.

62
00:04:22,140 --> 00:04:27,990
Veremos a terceira regra para determinar o valor da palavra-chave que esta chamada de uso se aplica e liga.

63
00:04:28,060 --> 00:04:29,190
As coisas estão ficando emocionantes.

64
00:04:29,190 --> 00:04:30,340
Vejo você no próximo vídeo.
