Bem vindo de volta.
Então, nos últimos vídeos, falamos sobre matrizes de javascript que são a primeira estrutura de
dados em que falamos nos próximos vídeos.
Vamos apresentar uma nova estrutura de dados chamada objeto.
Então, temos dois objetivos principais, como fizemos com os arrays.
Primeiro queremos entender quais são os objetos pelos quais os usamos.
Como eles se comparam a uma matriz.
E então o segundo objetivo é como escrevemos algum código usando objetos javascript.
Vamos continuar e começar.
Então, aqui está uma situação hipotética.
Suponha que eu queria modelar uma única pessoa em javascript.
Cada pessoa tem um nome e idade e uma cidade.
Então, há muitas maneiras pelas quais eu poderia fazer isso, eu poderia ter três variáveis ​​diferentes, idade e cidade, mas não estão
relacionadas umas com as outras.
Eles são totalmente separados.
uma matriz como se eu estivesse aqui, a var pessoa é igual à matriz onde o primeiro item é o nome Cindy.
Então, se eu quisesse conectá-los, eu poderia usar
O segundo item tem 32 anos e o último item é Missoula ou a cidade.
Este não é realmente um ótimo uso de uma matriz porque esses dados não são realmente uma lista.
Sim, podemos forçá-lo a uma matriz, mas não se presta ao formato de uma matriz onde temos
listas que muitas vezes têm uma ordem lógica.
Realmente não há uma ordem lógica aqui para acessar a cidade desta matriz.
Eu precisaria também escrever o suporte da pessoa.
E isso exige que eu saiba que a cidade também está no índice.
Então, se eu acidentalmente invertei a ordem e eu tive Traviss o nome do índice antecipado 0, mas então eu misture esses
dois.
Então eu tinha na cidade do índice 1 uma idade no índice 2.
Então, se eu tentar acessar a pessoa no suporte 2, ficaria idade em vez de cidade.
Então, isso é tudo apenas para mostrar que uma matriz não é a solução perfeita para cada situação.
Existe uma estrutura de dados muito melhor para usar aqui qual é o objeto javascript.
Você pode ver um exemplo aqui como nós levamos o array da pessoa com idade e cidade do nome
e transformá-lo em um objeto javascript.
A primeira coisa que você deve notar é que temos cintas curly em vez de colchetes para uma matriz.
A próxima peça importante é que cada item neste objeto é um par de valores-chave.
Então temos uma propriedade que o nome de valor de Colan é.
A idade é de 32 cidades é Missoula.
Este slide mostra exatamente o mesmo.
Nós temos um objeto de pessoa diferente. A pessoa var é igual a aparelhos de proteção e dentro que estamos definindo o nome para ser Travis
idade para ser 21 na cidade para ser L. UMA. Aqui, temos um diagrama simples do que é essa
estrutura de dados.
Nós temos três slots diferentes neste objeto e é realmente importante notar que os objetos não têm nenhum
padrão criado ao contrário de uma matriz onde há um primeiro item e um segundo item e um terceiro item.
Pense nos itens em vez de um determinado objeto como apenas flutuando por dentro se não houver
um pedido.
Nenhuma propriedade vem primeiro ou segundo, não importa como eu os declarou em que ordem eles são todos tratados da
mesma forma.
Então, este diagrama os mostra em ordem, mas é só porque eu tive que escolher um pedido.
Então você pode ver Travis armazenado sob o nome da chave.
21 está armazenado sob a idade da chave.
E eu. UMA. é armazenado na cidade-chave para recuperar dados de um objeto.
Temos duas escolhas.
Podemos usar o nome dos colchetes da pessoa do objeto e depois o nome da chave.
Então, neste caso, estou tirando o Travis do objeto da pessoa.
Então, eu coloitas da pessoa certa nome entre citações.
Então isso é muito parecido com os arrays.
A única diferença é que este não é um número.
Esta é uma string.
A outra opção é usar a notação de ponto, a notação de pontos é um pouco mais curta e mais simples.
O nome e o nome do nome da pessoa certa devem corresponder, obviamente, ao nome da chave e isso também
nos dará Travis.
Eu vou seguir em frente e demonstrar isso no con. Eu vou fazer um novo objeto chamado cão e meu cachorro vai ter um nome de propriedade como sempre.
Rusty Ele é o melhor cão e meia raça.
Ele é um mutt Lassally age e ele é três.
Então isso me dá meu objeto cão.
E se olharmos para o console, você pode ver que isso é um objeto.
Seu nome é resti breed como lama envelhece 3.
Então, se eu quiser acessar sua idade fora do objeto do cachorro,
posso fazer o primeiro cão intacto e, em citações, idade, eles recebem três ou posso fazer a idade do cachorro e eu também recebo três.
Depende de você usar qualquer um.
Eu prefiro usar a idade do cachorrinho porque é mais curto.
Você não precisa usar as cotações.
Você não precisa de colchetes duplos em ambos os lados.
Você só precisa disso.
Mas há algumas diferenças neste slide.
Eu demonstra três das principais diferenças.
Portanto, você não pode usar notação de pontos se a propriedade começar com um número.
Então você pode ver que aqui algum objeto no DOT one blah não é válido.
Mas se eu tivesse uma propriedade chamada One blah eu teria que usar colchetes
e colocá-lo em citações e isso é exatamente como ele está configurado no javascript.
nome da propriedade tiver um espaço nele como cor favorita.
Eu vou pular para o terceiro exemplo aqui, que é que você não pode usar a notação de pontos se o
Obviamente, isso não funciona.
Javascript pensa que estamos acessando dot fav Então,
se queremos uma propriedade com o espaço que na verdade não seja uma boa prática de qualquer maneira, mas se fôssemos precisamos usar aspas.
Fav.
Cor do espaço usando notação de suporte quadrado.
E então o exemplo do meio mostra que você pode procurar coisas usando uma variável.
Se você usar notação de suporte.
Então, se eu tiver uma variável
aqui chamada string ou como TR E é igual ao nome entre aspas se eu tentar e fazer algum objeto como TR. Ele apenas procurará
a propriedade como TR Mas se eu fizer algum suporte quadrado de objeto como TR, ele vai avalie como TR que nos dá o nome entre aspas.
Então, isso buscará o nome da propriedade em algum objeto.
Então, isso é algo que realmente veremos ocasionalmente.
Portanto, vale a pena conhecer a diferença aqui.
Você pode usar a notação de suporte quadrado usando um nome de variável para procurar uma propriedade.
A próxima coisa que queremos fazer é poder atualizar dados dentro de um objeto.
Portanto, é muito semelhante aos arrays em que acessamos os dados e depois reatribuí-lo com um sinal de igual.
Então, aqui, você pode ver que temos o mesmo nome de objeto da pessoa que Travis age é 21 cidade é L. UMA. Se eu quiser adicionar um para a idade de Traviss
é o aniversário dele.
Tudo o que preciso fazer é acessar a idade da pessoa.
Eu posso usar colchetes ou a notação de pontos e depois reatribuir.
Portanto, a idade da pessoa é igual a 1.
Então, isso irá adicionar uma pessoa que
idade é agora de 22 ou eu posso usar a cidade ponto cidade e reatribuir isso para ser Londres.
Então, a cidade da pessoa, igual a Londres, agora definirá a pessoa para ter a cidade de Londres.
Então, apenas para demonstrar isso.
Vamos voltar para o nosso objeto de cachorro, que tem o nome como criador de criadores enferrujados.
A idade é três.
Rusty só teve um aniversário, então eu vou mudar o cão da sua idade.
A idade é igual e eu poderia fazer isso igual a
quatro, que só vai fazer quatro, não importa o que e eu possa olhar para o cachorro.
Ou eu poderia fazer um cachorro.
A idade mais é igual a uma que apenas adicionará uma à idade existente e isso nos dá cinco.
Também demonstraria fazer isso com a notação do suporte quadrado.
Digamos que eu quero mudar o nome de Rusty para ser seu apelido, Tater.
Gostaria de escrever o nome do suporte do quadril do cão e isso só me dá resti e então eu vou reatribuí-lo para ser o Tator.
E se você olha para o cão, agora chamamos o Tator liberado aos 5 anos.
Existem algumas maneiras diferentes de inicializar objetos, como vimos com uma raça, para
que possamos fazer um objeto vazio primeiro como nós temos aqui.
A pessoa Var é igual às chaves curvas vazias e então podemos adicionar os dados após o fato.
Uma peça de cada vez.
O nome da pessoa é Travis pessoa com 21 anos de idade, essa cidade é L. UMA. podemos fazer tudo de uma só vez, o
que vimos até agora, é chamado de notação literal do objeto.
Até agora, a pessoa é igual e depois dentro das
armadinhas curly eu apenas escrevo o nome da minha propriedade Travis idade chamada e 21 cidade Colan L. UMA. e a última maneira que você não verá muitas vezes até muito mais tarde no javascript.
Ele disse que eu posso usar o novo objeto
que é uma função, assim como uma nova matriz que nos tornará um novo objeto e nos devolverá como um objeto vazio.
E então eu posso adicionar a pessoa do nome da pessoa não idade na cidade pessoa.
Então você definitivamente verá esta sintaxe e essa sintaxe muito mais frequentemente por enquanto.
Outro ponto que eu gostaria de fazer sobre os objetos é que, como arrays eles podem conter qualquer tipo de dados.
Portanto, nossos dados podem ser números ou strings ou booleanos, uma matriz, até mesmo outro objeto, como você pode ver aqui.
Assim como os arrays, podemos misturar e combinar o máximo que gostaríamos.
Então, vamos parar aqui por enquanto no próximo
vídeo, vamos fazer uma comparação entre objetos e apagar a sintaxe