1 00:00:01,333 --> 00:00:04,653 Escrevi um programa para te contar detalhes sobre Winston 2 00:00:04,653 --> 00:00:08,359 mas não muitos, pois Winston gosta de manter um pouco de mistério. 3 00:00:08,359 --> 00:00:10,910 Esse é apenas o jeito do Winston. 4 00:00:10,910 --> 00:00:12,944 Vamos ver como eu fiz esse programa. 5 00:00:12,944 --> 00:00:16,704 Criei algumas variáveis no começo para guardar algumas informações sobre ele. 6 00:00:16,704 --> 00:00:18,945 A primeira variável contém um número: a sua idade. 7 00:00:18,945 --> 00:00:21,892 A segunda variável contém uma cadeia de caracteres: seus olhos. 8 00:00:21,892 --> 00:00:22,816 A terceira contém 9 00:00:22,816 --> 00:00:26,380 um vetor de cadeias de caracteres que são coisas que ele gosta de fazer. 10 00:00:26,380 --> 00:00:30,576 E as últimas duas variáveis contêm cadeias de caracteres descrevendo onde ele nasceu. 11 00:00:31,376 --> 00:00:36,290 Aqui embaixo, escrevi cada uma usando o comando text e usando o nome da variável. 12 00:00:36,290 --> 00:00:39,719 E, é claro, para o vetor, eu tenho que acessar cada elemento do vetor 13 00:00:39,719 --> 00:00:43,150 usando notação com chaves. 14 00:00:43,150 --> 00:00:48,636 Agora, todas essas cinco variáveis contêm informações sobre a mesma coisa: Winston. 15 00:00:48,636 --> 00:00:51,598 Mas as variáveis não sabem que elas são sobre a mesma coisa. 16 00:00:51,598 --> 00:00:58,202 Em Javascript, quando você quer guardar múltiplas informações que são relacionadas 17 00:00:58,202 --> 00:01:02,968 temos um jeito melhor de guardá-las que é bem legal e é chamado de objeto. 18 00:01:03,125 --> 00:01:06,795 Isso significa que ao invés de cinco variáveis, podemos ter 19 00:01:06,795 --> 00:01:11,623 uma única variável que guarda toda essa informação, o que é bem legal. 20 00:01:11,623 --> 00:01:14,329 Vamos testar com as informações do Winston 21 00:01:14,329 --> 00:01:17,637 Primeiro, vamos declarar a variável e chamá-la de Winston. 22 00:01:18,277 --> 00:01:24,699 E então, colocamos chaves - chaves, não colchetes - e um ponto e vírgula. 23 00:01:24,699 --> 00:01:30,387 Criamos um objeto mas ele não tem absolutamente nenhuma informação dentro. 24 00:01:31,829 --> 00:01:35,388 Para adicionar um pouco de informação, temos que criar propriedades. 25 00:01:35,388 --> 00:01:41,516 E cada propriedade é uma chave e um valor. Por exemplo, idade seria "idade: 19" 26 00:01:41,516 --> 00:01:47,399 E então para os olhos, vamos adicionar uma vírgula e então "olhos: pretos". 27 00:01:48,139 --> 00:01:52,742 Agora, o Winston tem duas propriedades dentro do objeto. 28 00:01:52,742 --> 00:01:59,407 Para gostos, podemos colocar gostos: e então vou apenas copiar e colar lá de cima 29 00:01:59,926 --> 00:02:03,930 Muito bem. Vamos dar uma olhada nisso. Winston tem três propriedades. 30 00:02:03,930 --> 00:02:11,547 Toda propriedade tem uma chave, que está à esquerda, e um valor, que está à direita. 31 00:02:12,646 --> 00:02:16,692 Para a chave, deve-se seguir as mesmas regras que nomes de variáveis Javascript. 32 00:02:17,322 --> 00:02:20,099 Sem espaços, começando com uma letra, tudo isso. 33 00:02:20,511 --> 00:02:24,460 Para o valor, pode ser qualquer tipo de valor que já vimos até agora. 34 00:02:24,460 --> 00:02:27,594 Poderia ser um número, uma cadeia de caracteres, um vetor. 35 00:02:27,594 --> 00:02:33,403 Poderia até mesmo ser booleano, poderíamos adicionar eLegal: verdadeiro, é claro. 36 00:02:33,756 --> 00:02:37,918 Na verdade, o valor poderia até mesmo ser outro objeto. 37 00:02:37,918 --> 00:02:43,269 Então, CidadeNatal e EstadoNatal são mesmo pedaços de informação sobre a mesma coisa, 38 00:02:43,269 --> 00:02:45,306 que é uma única localização. 39 00:02:45,306 --> 00:02:48,752 E então acho que faria mais sentido guardar isso como um objeto. 40 00:02:49,102 --> 00:02:52,973 Vou adicionar outra chave, local de nascimento, e para o valor vou colocar 41 00:02:52,973 --> 00:02:59,774 sinal de chaves de novo e dentro vou ter uma chave para cidade, "Mountain View", 42 00:02:59,774 --> 00:03:03,877 e então estado, "California". 43 00:03:03,877 --> 00:03:09,736 Você pode ver que pode realmente guardar muita informação dentro de um objeto. 44 00:03:11,033 --> 00:03:15,459 Agora que temos esse objeto que descreve toda essa informação sobre Winston. 45 00:03:15,459 --> 00:03:19,533 Vamos tentar deletar aquelas velhas variáveis separadas que não sabiam 46 00:03:19,533 --> 00:03:20,645 umas das outras. 47 00:03:23,845 --> 00:03:26,047 Agora temos um erro. 48 00:03:26,047 --> 00:03:29,759 E isso é porque nossos comandos text estão referenciando as variáveis antigas. 49 00:03:29,759 --> 00:03:33,659 Temos que atualizá-los para usar a informação do objeto. 50 00:03:34,292 --> 00:03:40,078 Vamos começar comentando os três últimos para fazermos um de cada vez. 51 00:03:41,262 --> 00:03:46,006 Aqui diz WinstonIdade agora. O que precisamos fazer é substituir isso. 52 00:03:46,006 --> 00:03:49,123 Então vamos digitar winston porque é o nome da variável. 53 00:03:49,683 --> 00:03:54,964 Repare que se deixarmos desse jeito, ele diz [object Object]. Isso é muito grave. 54 00:03:54,964 --> 00:03:58,969 É o Javascript nos dizendo que estamos tentando transformar um objeto inteiro 55 00:03:58,969 --> 00:04:04,629 em uma cadeia de caracteres. Mas nós só queremos acessar sua idade dentro dele. 56 00:04:04,629 --> 00:04:10,514 O que fazemos é colocar um ponto e então escrevemos a chave apropriada que é idade. 57 00:04:11,013 --> 00:04:14,827 Pronto! Nós temos a idade. Chamamos isso de notação de ponto, 58 00:04:14,827 --> 00:04:19,934 onde escrevemos o nome da variável do objeto e um ponto e a chave do atributo. 59 00:04:21,521 --> 00:04:25,064 Então podemos ir e fazer mais agora. Vamos descomentar isso. 60 00:04:25,064 --> 00:04:29,877 E então no lugar de winstonOlhos, vamos colocar winston, ponto, olhos. 61 00:04:29,877 --> 00:04:36,704 E para esse aqui, vai ser winston, ponto, gostos, e então winston, ponto, gostos, um 62 00:04:37,311 --> 00:04:41,391 E para esse último, é um pouco mais complicado 63 00:04:41,391 --> 00:04:44,901 porque é um objeto dentro de um objeto. 64 00:04:44,901 --> 00:04:50,674 Vamos dizer winston, ponto, localDeNascimento, mas se deixarmos assim 65 00:04:50,674 --> 00:04:54,678 ainda é apenas o objeto inteiro então temos que colocar ponto, cidade. 66 00:04:54,998 --> 00:05:01,545 Vamos fazer isso aqui... winston, ponto, localDeNascimento, ponto, estado. 67 00:05:01,572 --> 00:05:05,721 Isso é realmente legal porque você pode acessar dentro dos objetos que estão 68 00:05:05,721 --> 00:05:07,513 dentro de outros objetos. 69 00:05:08,453 --> 00:05:11,485 Bom. Excelente. 70 00:05:11,485 --> 00:05:16,979 Como você pode ver, objetos são uma excelente maneira de guardar um monte de 71 00:05:16,979 --> 00:05:21,188 pedaços de informação relacionados sobre um objeto e poder acessá-los depois. 72 00:05:21,188 --> 00:05:24,450 E, quando você continuar aprendendo, vai descobrir quanto objetos são legais! 73 00:05:24,450 --> 00:05:26,000 Legendado por [Alberto Oliveira]. Revisado por [Fernando dos Reis]