[Música] fala Mestres beleza no vídeo de hoje nós vamos iniciar aqui em objetos né eu vou apresentar para vocês o que que é o objeto como que a gente cria como que a gente manipula enfim o básico de objeto aqui pra gente já entender o que que é esse tipo de dado muito poderoso e muito usado aí no JavaScript tá então noso vamos aqui né no Criei um novo arquivo esse novo módulo sobre objetos e a criação de um objeto né a sintaxe aqui pra gente fazer isso ela é parecida até com a Reis tá então eu vou criar aqui o objeto pessoa e para criar um objeto n para criar uma rei a gente cria com colchetes aqui para criar um objeto a gente cria usando Chaves tá então eu abro e fecho Chaves e isso aqui no JavaScript é um objeto tá esse caso aqui esse objeto ele está vazio e a gente pode adicionando propriedades para ele então um objeto ele possui propriedades e o que que são essas propriedades né a gente dá um nome e fazendo a relação lá com arrei o arrei cada item possui um índice certo o índice que é 0 1 2 3 aqui no objeto cada propriedade ela possui um nome tá tá então por exemplo o objeto pessoa ela vai ter a propriedade nome Qual que é o nome dessa pessoa meu nome Janer tá então a gente a chave seria a a propriedade né o nome a gente coloca os dois pontos e aí a gente adiciona o dado né no caso aqui é uma string e a idade idade da pessoa 22 tá E no no objeto para separar o uma propriedade da outra a gente usa vírgula tá então nome e o valor né idade e o valor e sempre separando por vírgula e altura altura 1 75 né separa por vírgula e tem CNH falo tá então a gente consegue criar o objeto a gente cria o objeto usando Chaves a gente dá o nome às Chaves né as propriedades e atribui um valor para essas propriedades tá então com isso aqui eu já tenho esse eu criei né esse objeto pessoa eh e e a gente já pode ver de cara que o objeto ele é um tipo de dado muito bom para estruturar e descrever coisas né então aqui eu tô criando o objeto pessoa né então eu consigo descrever uma pessoa muito bem através das propriedades né e os valores então quando a gente cria né o objeto eu consigo acessar as propriedades através da notação de ponto tá então eu vou no objeto que seria a variável pessoa ponto e aí eu tenho as propriedades desse objeto tá então essas propriedades a gente pode ver que são eh valores né então altura idade nome tem CNH são todos a gente pode ver pelo ícone né tentei descrever esse ícone nas aulas passadas e não deu muito certo então não vou est fazendo isso aqui agora tá mas a gente pode ver que dentro de pessoa né a gente possui altura idade nome e se tem ou não CNH então se eu faço aqui ó console. log nosso querido console. log pessoa pon altura e a gente executa esse arquivo 1,75 tá se eu fazer o console log só em pessoa né que é o objeto inteiro a gente vai ver né a anotação aqui do objeto com as chaves e os valores referentes aí a cada propriedade Que Nós criamos tá então a gente consegue acessar ó console.
log pessoa. nome e fazer o mesmo paraas outras propriedades né o nome altura idade né E se tem CNH ou não certo então é um é um um tipo de dado muito poderoso e muito simples também né É bem menos abstrato do que eu eu particularmente acho bem menos abstrato do que a lista tá mas aí com objeto a gente pode criar o objeto com os tipos de dados primitivos né que é string número defined então tem CNH aqui eu poderia ou melhor posso criar aqui o teste né undefined E se eu executar né vai ter a propriedade teste aqui ó com valor undefined então eu consigo criar os os objetos com os tipos primitivos e consigo também colocar dentro de cada propriedade do objeto os tipos complexos né ou seja isso aqui seria a criação de um objeto simples né criando um objeto simples e aqui nós vamos criando um objeto complexo E aí no objeto complexo a gente pode continuar com pessoa então vou pegar esse objeto de pessoa aqui ó vai ser a pessoa do e aqui dentro de pessoa do eu posso criar por exemplo a pessoa do ela vai ter os apelidos né apelidos e apelidos vai ser uma lista de apelidos né de Strings então ser dois TR enfim o qualquer valor que a gente quiser colocar dentro desse arrei né então o pelo o dentro de um objeto eu consigo colocar um Array eu posso ter um Array dentro desse objeto dentro desse Array eu posso ter Strings números outros objetos outros arris e a coisa começa a dar muita possibilidade da gente estar modelando esses dados então isso aqui seria A modelagem do do da de uma entidade né que a gente chama da entidade pessoa né então o que que uma pessoa tem né como que a gente pode descrever essa pessoa em um objeto JavaScript né Ou melhor como que eu posso modelar uma pessoa no JavaScript né usando aí os tipos de Dad do JavaScript então a gente cria esse objeto e aí os objetos T propriedades e cada propriedade a gente vai descrevendo os tipos de dados aí eh da forma que a gente pode da melhor forma possível né então por exemplo aqui a pessoa dois agora ela vai ter Pets e pets vai ser uma lista de pets né que ela pode ter mais de um pet ou seja nessa lista como é uma lista de pets o que que é um pet um pet é um animal ali que ele tem várias propriedades e como que eu melhor descrevo um pet né qual tipo de dado que é melhor para escrever um pet vai ser um objeto também então eu vou ter uma lista de objetos né aqui para Pets Ou seja eu vou criar aqui um novo objeto dentro da minha lista né E aí eu dou enter para quebrar a linha para né pra gente conseguir e e criando uma propriedade abaixo da outra e em Pets eu vou ter por exemplo o nome do PET Então esse Pet aqui é o Rex ele vai ser o tipo de esse Pet É um tipo tipo é um cachorro que mais que eu posso ter aqui para descrever o pet eh a idade dele né ou é pode ser o nome o nome o tipo e a idade tem um ano e eu vou ter aqui um outro Pet ó então eu vou separar os itens do meu arrei da minha lista por vírgula né eu separo sempre tanto as propriedades do objeto quanto os itens da lista a gente separa usando vírgula então esse primeiro objeto representa um pet e o segundo objeto também Vai representar outro Pet que vai ter o nome de que nome eu posso dar o Tor o tipo dele é um cachorro também e a idade dele é 2 anos então vocês estão vendo que usando objetos e os outros tipos de dados que nós temos a gente consegue ir modelando e criando descrevendo as coisas de uma forma bem mais fácil né bem mais descritiva bem mais legível e muito mais fácil de trabalhar tá então esse objeto aqui pessoa do eu posso fazer né o console log de pessoa dois pra gente dar uma olhada nisso aqui no console eu vou tirar esses logs aqui de pessoa né o logs anteriores e executando isso aqui o pessoa pessoa pessoa do é isso aqui ó nome idade altura apelidos ó apelidos é uma lista de Strings né lista de apelidos e pets é uma lista de objetos onde cada objeto descreve um pet E lembrando que também eu posso não quer dizer que eu devo mas eu poderia a gente tem aquela de ter a mistura de tipos de dados então por exemplo apelidos pode ter tem Strings aqui mas eu posso adicionar um objeto aqui dentro do ar de apelidos eu posso adicionar uma outra ar dentro da R de apelidos eu posso fazer várias coisas mas aí a gente começa a entrar em outra em outro em outra conversa que é de normalização dos dados né os dados eles têm que ter uma certa estrutura bem definida e é uma estrutura bem definida e que não confunda ali ou que não alguma estrutura que acaba que não faz sentido Por exemplo aí apelidos né apelidos são Strings beleza mas por que que eu vou adicionar aqui dentro da do da lista de apelidos um objeto né ou um objeto e uma Rei aí as coisas começam a ficar bagunçadas né então a gente tenta sempre manter o mesmo eh e tipo de dado ou estrutura de dado dentro e desses objetos complexos né desses tipos de dados complexos que seria o objeto e o Array então se eu tô criando um Array de usuários eu vou ter só usuários ali dentro o que que é usuário Ah é um objeto então o objeto usuário tem nome idade e altura apelidos e PED então eu teria uma lista desse objeto nessa estrutura fixa né pra gente evitar aí causar bagunça e nos Nossos programas que a gente vai tá vendo como que cria e como que trabalha com esses tipos de dados tá então agora como a gente tá iniciando é bom a gente ir trabalhando essa ideia para para isso se tornar normal então se eu fosse ter uma lista de pessoas eu teria uma lista de objetos nessa estrutura tá então a pessoa sempre tem um nome sempre tem uma idade eh se ela tiver apelido vai ser uma lista de Strings se ela tiver pets vai ser uma lista de pets né e cada PET é um objeto com essa estrutura e assim a gente mantém a normalização aí desses nossos dados tá então aqui para acessar os dados também a gente acessa baseado no tipo de dado que nós temos né então se eu quero pegar os apelidos né se eu quero pegar o primeiro apelido dessa pessoa então eu vou fazer aqui né console. log pessoa 2 ponto apelidos apelidos apelidos é uma arrei então eu vou pegar o índice zero que seria né o primeiro apelido aqui da pessoa se eu executo não vai não vai funcionar porque eu selecionei a string né se eu executo agora sem selecionar nada olha lá o jancer 2 aqui é o meu primeiro apelido se eu quero pegar o o tipo do primeiro cachorro né então Ou melhor o nome do primeiro cachorro né eu vou dar console P log pessoa do Pets eu quero o primeiro Pet né então é um arrei Eu vou acessar posição zero e depois aqui eu dou um ponto nome e eu consigo acessar o nome daquele e daquele Pet tá então executando aqui ó o nome do primeiro Pet é Rex tá então a gente consegue fazer dessa forma é a criação de objetos a gente consegue modelar lá os dados usando objetos de uma forma muito efetiva e para acessar os dados também a gente vai acessando de acordo o que nós temos armazenado ali tá E às vezes se a gente não conhece a estrutura do do nosso objeto nós temos alguns métodos que nos ajudam então por exemplo eu tenho um um operador eu posso dizer que é um operador que é o typeof que ele vai me dizer qual que é o tipo daquele dado então se eu passo aqui ó Type off uma string se eu executo isso aqui aqui ó string eu vou comentar os outros console log e e vou deixar aqui um comentário verificando tipo do dado então o nome da pessoa né então vamos lá typeof pessoa.