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