0:00:01.333,0:00:04.653 Escrevi um programa para te contar[br]detalhes sobre Winston 0:00:04.653,0:00:08.359 mas não muitos, pois Winston gosta de [br]manter um pouco de mistério. 0:00:08.359,0:00:10.910 Esse é apenas o jeito do Winston. 0:00:10.910,0:00:12.944 Vamos ver como eu fiz esse programa. 0:00:12.944,0:00:16.704 Criei algumas variáveis no começo para[br]guardar algumas informações sobre ele. 0:00:16.704,0:00:18.945 A primeira variável contém[br]um número: a sua idade. 0:00:18.945,0:00:21.892 A segunda variável contém uma[br]cadeia de caracteres: seus olhos. 0:00:21.892,0:00:22.816 A terceira contém 0:00:22.816,0:00:26.380 um vetor de cadeias de caracteres que[br]são coisas que ele gosta de fazer. 0:00:26.380,0:00:30.576 E as últimas duas variáveis contêm cadeias[br]de caracteres descrevendo onde ele nasceu. 0:00:31.376,0:00:36.290 Aqui embaixo, escrevi cada uma usando o[br]comando text e usando o nome da variável. 0:00:36.290,0:00:39.719 E, é claro, para o vetor, eu tenho que[br]acessar cada elemento do vetor 0:00:39.719,0:00:43.150 usando notação com chaves. 0:00:43.150,0:00:48.636 Agora, todas essas cinco variáveis contêm[br]informações sobre a mesma coisa: Winston. 0:00:48.636,0:00:51.598 Mas as variáveis não sabem [br]que elas são sobre a mesma coisa. 0:00:51.598,0:00:58.202 Em Javascript, quando você quer guardar[br]múltiplas informações que são relacionadas 0:00:58.202,0:01:02.968 temos um jeito melhor de guardá-las[br]que é bem legal e é chamado de objeto. 0:01:03.125,0:01:06.795 Isso significa que ao invés de cinco[br]variáveis, podemos ter 0:01:06.795,0:01:11.623 uma única variável que guarda toda[br]essa informação, o que é bem legal. 0:01:11.623,0:01:14.329 Vamos testar com as informações do Winston[br] 0:01:14.329,0:01:17.637 Primeiro, vamos declarar a variável[br]e chamá-la de Winston. 0:01:18.277,0:01:24.699 E então, colocamos chaves - chaves, [br]não colchetes - e um ponto e vírgula. 0:01:24.699,0:01:30.387 Criamos um objeto mas ele não tem[br]absolutamente nenhuma informação dentro. 0:01:31.829,0:01:35.388 Para adicionar um pouco de[br]informação, temos que criar propriedades. 0:01:35.388,0:01:41.516 E cada propriedade é uma chave e um valor.[br]Por exemplo, idade seria "idade: 19" 0:01:41.516,0:01:47.399 E então para os olhos, vamos adicionar[br]uma vírgula e então "olhos: pretos". 0:01:48.139,0:01:52.742 Agora, o Winston tem duas [br]propriedades dentro do objeto. 0:01:52.742,0:01:59.407 Para gostos, podemos colocar gostos: e[br]então vou apenas copiar e colar lá de cima 0:01:59.926,0:02:03.930 Muito bem. Vamos dar uma olhada nisso.[br]Winston tem três propriedades. 0:02:03.930,0:02:11.547 Toda propriedade tem uma chave, que está à[br]esquerda, e um valor, que está à direita. 0:02:12.646,0:02:16.692 Para a chave, deve-se seguir as mesmas[br]regras que nomes de variáveis Javascript. 0:02:17.322,0:02:20.099 Sem espaços, começando com[br]uma letra, tudo isso. 0:02:20.511,0:02:24.460 Para o valor, pode ser qualquer tipo[br]de valor que já vimos até agora. 0:02:24.460,0:02:27.594 Poderia ser um número, uma[br]cadeia de caracteres, um vetor. 0:02:27.594,0:02:33.403 Poderia até mesmo ser booleano, poderíamos[br]adicionar eLegal: verdadeiro, é claro. 0:02:33.756,0:02:37.918 Na verdade, o valor poderia até[br]mesmo ser outro objeto. 0:02:37.918,0:02:43.269 Então, CidadeNatal e EstadoNatal são mesmo[br]pedaços de informação sobre a mesma coisa, 0:02:43.269,0:02:45.306 que é uma única localização. 0:02:45.306,0:02:48.752 E então acho que faria mais sentido[br]guardar isso como um objeto. 0:02:49.102,0:02:52.973 Vou adicionar outra chave, local de[br]nascimento, e para o valor vou colocar 0:02:52.973,0:02:59.774 sinal de chaves de novo e dentro vou ter[br]uma chave para cidade, "Mountain View", 0:02:59.774,0:03:03.877 e então estado, "California". 0:03:03.877,0:03:09.736 Você pode ver que pode realmente guardar[br]muita informação dentro de um objeto. 0:03:11.033,0:03:15.459 Agora que temos esse objeto que descreve[br]toda essa informação sobre Winston. 0:03:15.459,0:03:19.533 Vamos tentar deletar aquelas velhas[br]variáveis separadas que não sabiam 0:03:19.533,0:03:20.645 umas das outras. 0:03:23.845,0:03:26.047 Agora temos um erro. 0:03:26.047,0:03:29.759 E isso é porque nossos comandos text[br]estão referenciando as variáveis antigas. 0:03:29.759,0:03:33.659 Temos que atualizá-los para usar a[br]informação do objeto. 0:03:34.292,0:03:40.078 Vamos começar comentando os três últimos[br]para fazermos um de cada vez. 0:03:41.262,0:03:46.006 Aqui diz WinstonIdade agora.[br]O que precisamos fazer é substituir isso. 0:03:46.006,0:03:49.123 Então vamos digitar winston porque[br]é o nome da variável. 0:03:49.683,0:03:54.964 Repare que se deixarmos desse jeito, ele[br]diz [object Object]. Isso é muito grave. 0:03:54.964,0:03:58.969 É o Javascript nos dizendo que estamos[br]tentando transformar um objeto inteiro 0:03:58.969,0:04:04.629 em uma cadeia de caracteres. Mas nós só[br]queremos acessar sua idade dentro dele. 0:04:04.629,0:04:10.514 O que fazemos é colocar um ponto e então[br]escrevemos a chave apropriada que é idade. 0:04:11.013,0:04:14.827 Pronto! Nós temos a idade. Chamamos [br]isso de notação de ponto, 0:04:14.827,0:04:19.934 onde escrevemos o nome da variável do[br]objeto e um ponto e a chave do atributo. 0:04:21.521,0:04:25.064 Então podemos ir e fazer mais agora.[br]Vamos descomentar isso. 0:04:25.064,0:04:29.877 E então no lugar de winstonOlhos, vamos[br]colocar winston, ponto, olhos. 0:04:29.877,0:04:36.704 E para esse aqui, vai ser winston, ponto,[br]gostos, e então winston, ponto, gostos, um 0:04:37.311,0:04:41.391 E para esse último, é um pouco[br]mais complicado 0:04:41.391,0:04:44.901 porque é um objeto dentro de um objeto. 0:04:44.901,0:04:50.674 Vamos dizer winston, ponto, [br]localDeNascimento, mas se deixarmos assim 0:04:50.674,0:04:54.678 ainda é apenas o objeto inteiro então[br]temos que colocar ponto, cidade. 0:04:54.998,0:05:01.545 Vamos fazer isso aqui... winston, ponto,[br]localDeNascimento, ponto, estado. 0:05:01.572,0:05:05.721 Isso é realmente legal porque você pode[br]acessar dentro dos objetos que estão 0:05:05.721,0:05:07.513 dentro de outros objetos. 0:05:08.453,0:05:11.485 Bom. Excelente. 0:05:11.485,0:05:16.979 Como você pode ver, objetos são uma[br]excelente maneira de guardar um monte de 0:05:16.979,0:05:21.188 pedaços de informação relacionados sobre[br]um objeto e poder acessá-los depois. 0:05:21.188,0:05:24.450 E, quando você continuar aprendendo, vai[br]descobrir quanto objetos são legais! 0:05:24.450,0:05:26.000 Legendado por [Alberto Oliveira].[br]Revisado por [Fernando dos Reis]