[Música] fala Mestres beleza na aula de hoje nós vamos entender aqui mais sobre propriedades e métodos nos nossos objetos a gente vai explorar aqui um pouco mais sobre trabalhar né manipular as propriedades e também ver mais sobre métodos que são funções né só que dentro dos objetos então aqui no nosso vias code Eu Já criei aqui o objeto pessoa né que tá com a propriedade nome idade e altura tá então o que a gente vai ver aqui agora é como eh adicionar né então que adicionando eh uma propriedade eh simples em um objeto na verdade
a gente pode adicionar qualquer propriedade dessa forma então adicionando uma propriedade em um objeto Beleza então como que o eu faço isso né Eu já tenho aqui o objeto pessoa então além do objeto pessoa eu vou adicionar aqui uma propriedade tá então eu como que eu faço isso eu faço pessoa ponto Opa pessoa ponto isso e aqui eu vou digitar o o nome da propriedade que eu quero adicionar no caso eu vou adicionar aqui um apelido né só um apelido então apelido e aqui eu vou atribuir tá então a gente usa o operador aqui de
atribuição né o igual que a gente fala recebe né então pessoa ponto apelido vai receber um string tá então o apelido seria João 2 um lindo apelido né E aqui depois eu vou fazer né console.log pessoa e ao executar isso aqui nós temos lá o nome João idade altura e o apelido João 2 tá então a gente consegue adicionar as propriedades novas propriedades né criar novas propriedades no objeto com essa notação então por exemplo pessoa pon profissão e aqui eu vou colocar um objeto por exemplo que a profissão tem um cargo o cargo é desenvolvedor
salário enfim qualquer outra propriedade eu poderia adicionar objetos arrays Strings e aquela mesma liberdade que nós sempre temos de mesclar as coisas tá e se eu faço consol log de pessoa a gente vai ver que tem a profissão aqui ó que é um objeto com as propriedades que a gente definiu tá com as propriedades que a gente definiu então é bem simples né para est adicionando essas propriedades tanto propriedades simples quanto também propriedades mais complexas com objetos mais estruturados e aqui a gente vai ver como remover removendo uma propriedade de um objeto e para remover
nós temos um um operador aqui que é o delete tá então eu passo né o delete e eu especifico qual propriedade que eu quero deletar daquele objeto então se eu quero deletar o o salário né já vamos fazer um exemplo mais complexo né o salário da profissão da pessoa né então aqui eu vou deletar ó pessoa ponto profissão ponto salário e que eu vou fazer o console.log desse meu objeto né pessoa vou comentar esse outro console log aqui e se a gente Executar a gente vai ver que a profissão ela só possui cargo né não
possui mais salário porque a gente deletou então eu posso deletar posso deletar também pessoa ponto altura enfim a gente especifica tudo usando esse delete tá se eu executar isso aqui ó a pessoa não tem mais altura e também não tem mais salário porque a gente está removendo de fato essa propriedade se a gente quisesse deixar tirar o valor né Eu simplesmente atribuiria o valor undefined né o tipo undefined que aí significaria que aquela propriedade não tem um valor definido tá e da mesma forma que a gente consegue adicionar e remover na verdade da mesma forma
que a gente consegue adicionar a gente consegue também alterar então para alterar uma propriedade né alterando propriedade objeto eu faço basicamente da mesma forma que a gente faz para adicionar então só que no caso já existe né então aqui o nome da pessoa é João se eu quero trocar o nome eu vou fazer pessoa P nome vai receber Maria pessoa ponto altura altura e v mexer na idade a idade é de 122 não 25 anos eu vou comentar aqui esses delites tá pra gente ver uma coisa bem interessante aqui e quando eu executo isso aqui
depois de executar também eu vou fazer o conso log né então pegar esse consol log aquii se eu executo ao Executar a gente vai ver que Maria tem 25 anos e as outras propriedades que a gente definiu para João se mantém tá então eu alterei a propriedade do objeto original mas o resto né as outras as outras informações é tudo o mesmo tá então isso é o comportamento que a gente espera mas às vezes a gente tem a gente tem que tomar cuidado né porque eh eu estou manipulando no caso de objeto né o objeto
descreve uma pessoa então teria mais edades específicas da pessoa e enfim a gente tem que ter basicamente a gente tem que ter consciência do que nós estamos alterando mas isso eh a gente sempre tem que ter né e mas para alterar né voltando aqui no tópico para fazer a alteração é da mesma forma que a gente faz para criar uma nova propriedade se mas simplesmente a gente Altera a propriedade que já existe Beleza então a gente consegue fazer essas adições essas e a criação edição e deletar também propriedades e tem uma coisa bem interessante que
a gente consegue fazer é adicionar adicionando métodos adicionando métodos a um objeto então o que que acontece né O que que é o método o método é uma função tá então a nos objetos né os objetos possuem métodos e a ideia de método a gente vai explorar mais isso quando a gente tiver falando de classes mas o método é simplesmente uma função atrelada a um objeto então por exemplo nesse objeto pessoa eu quero adicionar um método nesse objeto pessoa que pode ser por exemplo a função falar tá lembrando Que métodos são funções então o método
falar Eh que enfim executaria uma função né um conjunto ali de instruções então eu eu posso est adicionando métodos nos objetos então se eu e para adicionar né eu vou eu vou simplesmente est adicionando uma nova propriedade então aqui ó pessoa pon falar né vou adicionar a propriedade falar só que a propriedade falar ela não vai ser nem um um string nem um número nem um o tipo de dado simples e não vai ser também um objeto nem um arrei ela vai ser uma função tá então aqui eu posso atribuir uma função anônima certo então
a função e que não tem nome por isso que é anônima e essa função ela pode fazer que por exemplo console. log falar falar a string né pessoa falando correto então a gente consegue adicionar esses métodos nos objetos e agora começa a fazer mais sentido quando a gente usa por exemplo console.log tá então console é um objeto Global do JavaScript e dentro do objeto console nós temos o método log que é o que a gente vem usando lá desde desde o início desde a primeira aula então essa notação né de console log e passar os
parâmetros são eh basicamente é basicamente essa notação de objeto com os métodos né que são funções atreladas a uma propriedade de um objeto tá então quando a gente usa lá no arrei né o arrei nas aulas de arrei que nós vimos o o for it eh map esses métodos específicos de arrei né Splice split conquet são tudos são todos métodos que são definidos dentro do objeto que representa aquele arrei por isso que quando a gente executa o Type off né de um Array ele retorna pra gente um objeto né o tipo de um arrei é
um objeto porque agora que a gente descobriu essa parte dos métodos né faz mais mais sentido pensar no arrei como um objeto só que com a finalidade ali de representar os dados em formato de lista tá então quando eu faço aqui né o eu consigo quando eu atribuo na propriedade falar um método eu consigo aqui depois né chamar pessoa P falar e executo a função então depois disso aqui eu vou fazer um console log também do objeto pessoal pra gente ver como ele ficou vou comentar esse console log anterior e se a gente executa nós
temos aqui ó pessoa falando né o console log porque eu chamei aqui o método falar e o objeto pessoa ficou assim ó falar o que que é a propriedade falar né É uma função anônima tá que o que o a forma que a gente consegue representar aqui no terminal de que um um objeto ele possui um método né que seria uma função aí atrelada a uma propriedade Tá bom então com isso né a gente já ver que a gente já consegue ver que nós temos muitas possibilidades para trabalhar com objetos né porque agora os objetos
além deles descreverem as el além deles descreverem né as entidades a gente consegue agora adicionar fazer implementar e funcionalidades ou funções para aqueles objetos também né então a pessoa além do objeto pessoa descrever o que é uma pessoa a gente começa agora a conseguir atribuir funções pra pessoa então a pessoa pode falar a pessoa pode andar a pessoa pode fazer diversas coisas e e a gente consegue deixar ainda mais completo esse objeto mais cheio de funcionalidades e Isso facilita muito quando nós estamos trabalhando aí com com com objetos tá então para finalizar aqui eu só
quero mostrar para vocês como que é acessar acessando uma propriedade que também agora já eu acredito que já tá intuitivo n que acessar uma propriedade que não existe e o retorno disso aqui então se eu faço aqui ó console log pessoa ponto andar né a andar nós não temos definido aí o que que é um andar o que que é a propriedade andar né no objeto pessoa então se eu executo isso aqui o retorno vai ser simplesmente undefined né então quando a gente acessa uma propriedade que não existe no objeto O Retorno vai ser undefined
e e enfim né se essa propriedade é mais complexa Então por exemplo e profissão né profissão possui o cargo Então vamos vamos ter o exemplo aqui de que andar é que andar a gente tá pensando em andar como uma função né Eh vamos colocar ou vou comentar aqui a profissão então a pessoa não possui profissão né esse objeto aqui essa propriedade profissão não existe então se eu tentar acessar pessoa pon profissão ponto cargo né seria o cargo dessa pessoa se eu tentar executar isso aqui a gente vai ter um erro tá que não pode ler
propriedades de undefined por quê pessoa pon profissão é undefined então esse ponto cargo aqui não existe tá então a gente vai ter um erro para referente a esse acesso de uma propriedade que pode ou não existir e aí a gente pode ter uma segurança né né ao acessar propriedades de objetos que podem estar indefinidas que seria o seguinte quando eu vou acessar a propriedade do objeto eu coloco interrogação ponto essa notação aqui basicamente ela vai fazer o seguinte se aquela propriedade existir eu retorno ela se não eu retorno undefined e aí a gente evita esse
erro de tentar ler propriedades que não existem Então se pessoa profissão é undef esse ponto cargo não existe então isso dá o erro que é o que nós acabamos de ver e se eu coloco a interrogação isso aqui tudo vai retornar a gente não vai ter problema então se eu salvo isso aqui e tento executar nós temos aqui como resposta undef então esse erro é muito comum gente tentar acessar a propriedade de UMF n de uma outra propriedade que não existe e que ou melhor a não a correção né mas a forma da gente ficar
mais seguro evitar que o problema que o programa Crash que dêu um erro inesperado é usando essas interrogações Tá certo então para essa aula é isso tá eu espero aí que eu tenha ajudado qualquer dúvida pode estar deixando um comentário logo abaixo e é isso aí muito obrigado e até a próxima [Música]