1
00:00:00,270 --> 00:00:01,200
Bem vindo de volta.

2
00:00:01,230 --> 00:00:05,220
Então este é o nosso último vídeo em objetos javascript para as próximas unidades.

3
00:00:05,280 --> 00:00:09,360
E neste vídeo, vamos abordar métodos de javascript antes de fazer isso.

4
00:00:09,360 --> 00:00:11,110
Eu só quero explicar minha configuração.

5
00:00:11,220 --> 00:00:16,570
Eu tenho um arquivo HTML simples e tudo o que tenho são algumas notas aqui apenas para nós seguir.

6
00:00:16,590 --> 00:00:19,690
Então você absolutamente não precisa digitar isso se quiser acompanhar.

7
00:00:19,710 --> 00:00:24,330
Você pode apenas fazer isso no console ou criar seu próprio arquivo, mas você não precisa desta página para ele.

8
00:00:24,600 --> 00:00:29,600
Então, o que eu vou fazer é começar a falar sobre quais métodos são assim em javascript.

9
00:00:29,610 --> 00:00:33,900
Nós vimos que podemos fazer um objeto que vai fazer um chamado LBJ.

10
00:00:34,380 --> 00:00:38,050
E podemos colocar qualquer tipo de dados que queremos em vez desse objeto.

11
00:00:38,100 --> 00:00:41,580
Então, poderíamos ter um nome que é uma string Charke.

12
00:00:41,980 --> 00:00:51,210
Você pode ter uma idade que é um número que podemos ter é legal que seja um booleano, podemos

13
00:00:51,210 --> 00:00:58,580
ter amigos, que é uma matriz e os amigos podem ser apenas Bob e Tina.

14
00:00:59,370 --> 00:01:04,560
Mas o que estou interessado em mostrar-lhe neste vídeo é que podemos realmente adicionar funções como propriedades

15
00:01:04,650 --> 00:01:05,600
a um objeto.

16
00:01:05,640 --> 00:01:08,890
Nesse caso, são chamados de métodos e não de propriedades.

17
00:01:09,060 --> 00:01:14,360
Então, novamente, um método é apenas uma função que é uma propriedade em vez de um objeto.

18
00:01:14,400 --> 00:01:15,610
Então eu posso fazer um aqui.

19
00:01:15,660 --> 00:01:24,280
Vamos chamá-lo de adicionar adicionar é uma função e é preciso dois números x e y e tudo o que ele faz.

20
00:01:24,520 --> 00:01:32,770
Se eu recuar isso corretamente, é retornar x mais y.

21
00:01:33,330 --> 00:01:36,370
Então, o que é novo aqui é que estamos apenas adicionando uma função.

22
00:01:36,400 --> 00:01:37,850
Não importa o que a função faz.

23
00:01:37,860 --> 00:01:42,290
Qualquer função funcionará aqui e estamos apenas definindo isso como um valor para a propriedade.

24
00:01:42,390 --> 00:01:51,270
E então, se eu acertar entre aqui e olhamos para RBJ, você pode ver que é um objeto e temos 45 amigos.

25
00:01:51,420 --> 00:01:54,440
Uma matriz é o nome falso legal Chuck.

26
00:01:54,450 --> 00:01:56,920
E, em seguida, adicionar é uma função.

27
00:01:57,450 --> 00:02:05,610
Então, se queríamos chamar de adicionar, não podemos simplesmente escrever adicionar mais o que precisamos fazer é escrever obedecer j dot

28
00:02:06,330 --> 00:02:11,790
e assim, então, vamos dar dois números 10 e 5 e nós obtemos 15.

29
00:02:12,270 --> 00:02:15,130
Então, chamar isso funciona da mesma forma que precisamos de parênteses.

30
00:02:15,150 --> 00:02:16,170
Precisamos de argumentos.

31
00:02:16,200 --> 00:02:19,860
A única diferença é que não é apenas sobre isso como esse.

32
00:02:19,860 --> 00:02:23,490
Na verdade, é agora em vez do objeto OPG.

33
00:02:23,520 --> 00:02:26,810
Então, isso pode parecer um pouco familiar de algo assim.

34
00:02:26,820 --> 00:02:30,350
Contrl Balog exatamente o mesmo formato.

35
00:02:30,420 --> 00:02:36,720
E verifica-se que o consulado era um objeto e o log é um método nesse objeto e lembrando-o

36
00:02:36,780 --> 00:02:39,620
assim como chamamos o ponto de objeto AD.

37
00:02:39,720 --> 00:02:41,810
Então eles funcionam exatamente da mesma maneira.

38
00:02:42,150 --> 00:02:46,230
Então, você pode estar se perguntando por que nós queremos sempre adicionar um método a um objeto.

39
00:02:46,230 --> 00:02:50,340
Por que não apenas nossas funções são definidas separadamente.

40
00:02:50,430 --> 00:02:54,190
Por que precisamos adicionar dentro do objeto RBJ.

41
00:02:54,210 --> 00:02:55,770
Há alguns motivos.

42
00:02:55,770 --> 00:03:01,110
O primeiro é que ele ajuda você a manter seu código organizado para que você possa agrupar coisas logicamente

43
00:03:01,110 --> 00:03:05,580
juntas para ilustrar um dos benefícios de adicionar suas funções como método em um objeto.

44
00:03:05,700 --> 00:03:07,800
Eu vou fazer um exemplo rápido aqui.

45
00:03:07,800 --> 00:03:12,420
Então, vamos voltar para o nosso exemplo favorito de gatos e cães e digamos

46
00:03:12,420 --> 00:03:14,710
que queria fazer um método chamado falar.

47
00:03:15,870 --> 00:03:22,890
E suponhamos que eu queria fazer uma função chamada falar e falar tudo o que precisa fazer é retornar

48
00:03:23,350 --> 00:03:23,960
o que.

49
00:03:24,120 --> 00:03:26,770
Então, isso é para um cachorro ou lobo.

50
00:03:27,240 --> 00:03:28,330
E é isso.

51
00:03:28,530 --> 00:03:29,700
Muito simples.

52
00:03:29,700 --> 00:03:33,290
E eu posso chamar de falar assim e eu entendo o que.

53
00:03:34,080 --> 00:03:39,690
Suponhamos que eu também quero um método chamado Speak para trabalhar para gato e ele deve retornar.

54
00:03:39,690 --> 00:03:40,530
Miau.

55
00:03:40,830 --> 00:03:43,590
Bem, se eu escrever

56
00:03:46,740 --> 00:03:50,600
função falar e eu devolvo meow.

57
00:03:51,480 --> 00:03:54,160
E desta vez eu chamo de falar, eu recebo Meow.

58
00:03:54,450 --> 00:03:58,470
Mas agora não tenho como acessar meu original falar que retornou Wolf.

59
00:03:58,770 --> 00:04:01,830
Então o que aconteceu aqui é algo chamado de colisão de espaço para nome.

60
00:04:01,890 --> 00:04:06,180
Então, essa é apenas uma maneira elegante de dizer que temos duas coisas diferentes que têm o mesmo nome.

61
00:04:06,450 --> 00:04:11,930
Então, se, em vez disso, adicionássemos essas funções como métodos para um objeto, poderíamos ter duas coisas diferentes

62
00:04:12,000 --> 00:04:12,710
chamadas falar.

63
00:04:12,780 --> 00:04:14,880
Ao colocá-los em diferentes espaços de nomes.

64
00:04:14,970 --> 00:04:20,490
fazer que possamos fazer algo chamado var dog space e esse é apenas um objeto vazio.

65
00:04:20,490 --> 00:04:21,740
Portanto, é realmente simples

66
00:04:22,380 --> 00:04:27,670
E então, apenas dizemos que o espaço para cães é chamado de função de ponto.

67
00:04:29,640 --> 00:04:34,230
E nós retornamos o quê.

68
00:04:35,290 --> 00:04:39,060
E fazemos o mesmo para o espaço de gato de Vark.

69
00:04:39,150 --> 00:04:44,130
Portanto, o espaço para cachorros do gato são apenas nomes de inventar e eles apenas serão objetos vazios

70
00:04:44,130 --> 00:04:45,540
aos quais adicionamos nossos métodos.

71
00:04:45,750 --> 00:04:53,910
Então, eu posso dizer que o espaço do gato, o ponto fala, é igual a função e tudo o que fazemos aqui é retornar.

72
00:04:54,040 --> 00:04:55,530
Sim.

73
00:04:56,940 --> 00:05:01,760
Então, se eu quiser chamar, fale por um cachorro, eu quero que ele devolva Wolf.

74
00:05:01,790 --> 00:05:07,170
Tudo o que eles têm a fazer é ler o espaço do cão falar e se eles quiserem ver-me

75
00:05:07,170 --> 00:05:11,480
saber tudo o que eu preciso fazer é executar o espaço do gato ponto falar.

76
00:05:13,020 --> 00:05:15,130
Então, novamente isso é apenas uma fantasia.

77
00:05:15,600 --> 00:05:18,660
Então, esta é apenas uma boa maneira de organizar nosso código.

78
00:05:18,660 --> 00:05:23,850
Antes de tudo, é que podemos ter um monte de métodos que são agrupados logicamente juntos, de modo que todos os métodos

79
00:05:23,850 --> 00:05:28,060
do cão entram nesse espaço para cães, todos os métodos de gato entram nesse espaço de gato.

80
00:05:28,320 --> 00:05:31,530
Mas também é uma maneira de evitar essas colisões de namespace.

81
00:05:31,530 --> 00:05:36,090
Eu sei que agora você está cansado de cachorros e gatos e não parece um exemplo

82
00:05:36,090 --> 00:05:41,790
muito real, mas posso garantir que a mesma lógica exata se aplica a algo como comentários e posts e tags.

83
00:05:42,090 --> 00:05:44,990
Você pode ter um método chamado novo ou excluir.

84
00:05:45,180 --> 00:05:48,030
Para comentários, podemos ter um chamado para excluir mensagens.

85
00:05:48,090 --> 00:05:53,040
Outro chamado de Excluir para usuários e precisamos ter esse espaço de nomes corretamente para que

86
00:05:53,040 --> 00:05:54,390
eles não sejam todos conflitos.

87
00:05:54,390 --> 00:06:00,930
Então, ao invés de simplesmente escrever apagamentos, teríamos exclusão do usuário e, depois, poderemos apagar e

88
00:06:01,530 --> 00:06:07,550
excluir o post-START e veremos coisas assim a todo momento quando recebermos tabac e programação.

89
00:06:07,980 --> 00:06:13,530
Então, para resumir o que cobrimos até agora, podemos adicionar métodos a um objeto, o que significa que

90
00:06:13,530 --> 00:06:17,910
estamos adicionando uma função como uma propriedade e podemos adicioná-la como qualquer outra propriedade.

91
00:06:17,940 --> 00:06:20,270
Trate-o como uma corda ou um número.

92
00:06:20,430 --> 00:06:23,240
E isso porque as funções são valores em javascript.

93
00:06:23,340 --> 00:06:24,650
Podemos passá-los.

94
00:06:24,720 --> 00:06:29,040
Podemos adicioná-los como um valor para um objeto que realmente é realmente útil.

95
00:06:29,040 --> 00:06:32,080
A segunda coisa sobre a qual falamos é por que você sempre faria isso.

96
00:06:32,100 --> 00:06:37,050
falamos é que impede colisões de espaço para nome, o que realmente significa que podemos agrupar código em conjunto.

97
00:06:37,050 --> 00:06:38,370
A primeira razão pela qual

98
00:06:38,520 --> 00:06:43,080
Isso significa que podemos ter propriedades e funções e métodos que são nomeados exatamente da mesma maneira, exceto que

99
00:06:43,470 --> 00:06:46,750
eles são armazenados em objetos diferentes para que eles não entrem em conflito
