e ao executar essa função ele está criando Essa função para mim tudo bem jogando aqui para fora e eu estou recebendo tudo aqui Color e-tron of como objeto se olha isso aqui de novo isso aqui vai ser criado de novo então eu quero te ajudar a pensar que tem uma maneira de a gente fazer isso sem ficar recriando essa função aqui interna claro que a gente não vai usar Factor agora o que a gente vai fazer agora dá o próximo passo ir para o próprio Type fala dele não é inscrito na área para mais um episódio de Ruth aqui no canal e eu venho trazer para você agora 4 maneiras de você criar objetos no Java escript sabendo que o motivo de eu trazer isso é para que você tenha uma maior clareza das maneiras que tem de criar o objeto e não não existe só existem outras tá só que nessas maneiras você vai ter prós e contras de usar um outro e quem sabe isso pode te ajudar a fazer suas escolhas e até porque eu escolhi uma maneira ou outra dependendo do projeto que eu tô fazendo algumas pessoas me perguntam se você fez essa forma dá para fazer de outra forma também gente existem muitas maneiras de se resolver por isso que eu entrei essas quatro para você escolher qual que vai fazer mais sentido para você no próximo projeto que você fizer beleza Lembrando que o Hulk aqui são as pessoas que estão precisando da base do início de tudo root do inglês raiz então as pessoas estão usando a base do início vai estar comigo vai estar com a Jaqueline nesses vídeos aqui do Ruth show de bola a gente quer abraçar o máximo das pessoas que a gente puder e vai ser um prazer ter você acompanhando esse vídeo aqui lembra de deixar os seus comentários o que você quer ver aqui porque o seu comentário vai fazer o produzir mais vídeos aqui no canal Beleza então bora pro vídeo bom então para a gente Criar e algumas maneiras para a gente criar objetos em Java Script eu separei aqui para você quatro objeto esse Little Factory pro Type Class vou te mostrar os prós e contras tá aí como que a gente vai vendo mas aqui já tá o script da aula caso você já que ele desvendando as coisas que eu vou falar beleza vamos começar então com um objeto esse litro para quem está começando aqui vamos é a mesma página tá porque às vezes a pessoa está começando ela nem consegue lembrar direito ou não sabe direito o que é objeto então por isso vai sentir dessa breve explicação e quem já sabe só dá Uma segurada aí vamos lá para você criar um objeto em Java Script você precisa de um par de Chaves né Eu sempre confio nesse os homenzinhos mas eu acho que isso aqui é Chaves esse par de Chaves aqui dentro você pode colocar qualquer propriedade e qualquer valor Tá então vamos supor que eu tenho que criar eu quero criar um objeto que é uma opção microfone esse microfone que eu tô falando aqui por exemplo tá o microfone ele tem propriedade por exemplo cor ó color vou colocar em inglês tudo bem color dele é black esse microfone aqui o microfone ele tem uma propriedade para saber se ele tá ligado não só isso ó é o nome que eu tô colocando aqui é importante que você saiba que a qualquer nome que eu quiser tá bom isso ele é um bule então tipo de dados boolean para falar que ele está ligado afinal de contas ele tá conversando aqui com você né e a dieta além de ter propriedades que a gente fala que são atributos do objeto objeto também tem funcionalidades tá as funcionalidades do objeto gente também chama de método aqui na programação então se eu quiser criar uma funcionalidade do microfone por exemplo só vou é on-off para ficar bem claro tá o que eu estou fazendo então são trocam vou colocar um software melhor logo significa do inglês trocar é fazer uma troca tarde ontem off então toda vez que o clicar em alguma coisa ele vai fazer um quando clicar de novo ele vai fazer off isso senão a funcionalidade beijo a propriedade de um lado o nome Zinho a propriedade de um lado o valor de outro um chão é uma funcionalidade em JavaScript funcionalidades eu faço dessa forma tá para quem já conhece um pouquinho mais a gente pode trocar espuma funções tem suas implicações é claro função ou então para quem sabe um pouquinho mais a gente pode usar um short rendado que a gente fala pro pedir esse é uma maneira de você fazer propriedade valor de uma maneira curta para a função específica a gente pode fazer isso isso aqui é o mesmo que dizer que a propriedade trocam off do objeto ela é uma função tá E aqui dentro eu colocaria as coisas essa função por aqui para gente poder deixar o mais básico de Java script possível eu vou deixar dessa forma e escrever uma função no caso uma função anônima aqui porque ela está recebendo esse nome você tá vendo essas marcações erro esses marcações erro existe aqui agora porque esse objeto aqui ele não está desculpado que a gente fala tá ou seja ele não está assim dentro de um esses cocô vou fazer essa forma não quer atualizar nada computador tá ou então é comumente tá é muito comum a gente pegar esse objeto e colocar dentro de uma variável essa variável pode ser uma constante eu vou chamar ela de microfone tudo bem Ó atribuição de valor é esse igual é atribuição significa o objeto está sendo atribuído a uma o microfone uma constante microfone recebe aqui o objeto tá bom que são maneiras da gente lei isso daqui muito bem isso aqui é um objeto literal ele é literalmente um objeto JavaScript Tudo bem se você entendeu o princípio de objeto você já sabe fazer um objeto literal isso aqui é o Object literal E aí se eu quiser acessar alguma coisa desse Object literal vamos supor que se drogam off Ele simplesmente vai ser um conceito lógico aqui tá então que vão aplicar aqui agora é uma lógica de programação tudo que eu preciso para aplicar uma lógica de programação precisa entender só de como eu converso ali com a linguagem de programação porque a lógica está na minha cabeça Vamos pensar de maneira lógica nesse de colocar ali quando eu Executar a função trogon off se estiver ROM deslise Coloca ele como está ligado escreve uma mensagem está ligado e desliga ele tá ou então é coloca uma mensagem desligar porque ele está sendo desligado ou está sendo de e faz tá aqui ó eu tô pensando quando estiver ligado se eu Executar a função ele vai desligar quando estiver desligado se eu clicar no droga ou um top ele vai ligar isso é lógico de promoção é simples a lógica de Formação Tem muita gente que fica meu dedo preciso da lógica não só precisa colocar a cabeça eu pensar um pouco mais sim Você precisa Da Lógica também porque estudar importante né a gente nunca pare de evoluir Eu acredito muito nesse tipo de estudo aqui ó a gente vai praticando e vai colocar a cabeça para funcionar então eu lá se como que foi que eu falei se é microfone o microfone is on a através da de conhecimentos a linguagem de programação eu sei que isso aqui é uma estrutura se eu sei que isso aqui é um booleano é um verdadeiro ou falso né que a gente vai trocar daqui a pouco isso aqui é o verdadeiro ou falso se for verdadeira ele vai entrar entrar nessa estrutura e ele vai escrever para mim ali no blog desligar porque agora se ele tá onde eu vou desligar ele tá desligar o micro Ah tá E aí eu vou colocar uma estrutura Super simples if else I se não é o s ão tá então tá ligado desliga se não significa que está ó senão do quê né se não se ele não está ligado ele está desligado se ele está desligado então eu preciso ligar ele ligar pronto gente lógica de programação simples Eu sei que não é o foco da aula falar sobre lógica de programação é falar sobre 4 maneiras de criar objeto mas eu quero colocar todo mundo na mesma página para que a gente possa seguir na criação desses objetos tudo bem e obviamente eu sempre falo para você nós temos um curso todo bem estruturado gratuito para você chamada Discovery é só você acessar Beleza o link vai estar na descrição Então tá eu liguei logo não é porque eu trago off e tem essa função para ser executada agora o seguinte eu preciso dentro dessa função avisar que depois que eu der a mensagem desligar ou se eu der a mensagem ligar eu preciso mudar a opção does One tá então é o seguinte u o controle controle como é que é microfone viagem microfone é. Is one ele vai receber agora uma nova propriedade se ele estiver tro ele vai receber falso se ele tiver falso ele vai receber Trio Você concorda comigo que se eu coloco microfone aqui ó microfone is one eu tô colocando um tio aqui ó nesse caso agora olha para ele tio é isso aqui show microfone is on Hand Tool veja mais tro tro recebe três sempre eu tenho um controle aqui no Jardim inscritos que eu posso negar o que o cara é então se eu estou negando que ele é tio agora ele é falso se aí olha que legal a primeira vez que eu clicar e ele está como tio só que eu estou negando ele e atribuindo esse valor para ele agora ele se tornou falci seu clicar de novo ele tá falci na hora que eu estou negando um falso Eu nego se alguma coisa eu estou negando que ela é falsa e seguir bom então transforma em verdadeira e ele recebe verdadeira esse sinal de negação esse fiel Se trufao se isso aí é lógica de programação show de bola temos o nosso objeto literal criado aqui para o nosso pra nossa prática porque a gente quer fazer tudo que eu preciso fazer agora é Verificar como eu uso esse objeto então eu simplesmente os aqui microfone e chama aqui por exemplo droga on-off para fazer desligar ou ligar se ele já tá começando ligado ele vai desligar se eu rodar ele novamente ou seja o cliquei de novo ou seja executei função de novos aqui só se tá criado isso aqui está executado chegou nessa linha Executor chegou nessa linha Executor a se você tiver em dúvida também sobre o meio ambiente aqui ou simplesmente mexer no vs code para tirar linhas coloquei aqui um um tema chamado malte base tá é que possa eu tiro aqui me Maré pedirem um monte de coisa para que a gente possa focar só no código Tudo bem Fechou então gente nessa linha que significa está ligado desliga nessa e está desligado Liga tá E aí é isso que eu espero ver ali se ele vai desligar e ligar beleza vamos ver é só vou daqui um molde eu estou usando a mente todo inode tá bom objetos Little Italy desligar e ligar então no primeiro momento era um desligou segundo momento é off não seja falso né tava desligado Liga fechou-se entendeu isso show de bola agora vamos aos prós e os contras de ter objetos objetos litoral eu vou começar dizendo os meus próximos para mim ele é simples de criar é simples Até de eu explicar se visualmente para entender o objeto você olha aí aqui você já entendi uma maneira um pouco Clara talvez não muito mais um pouco Claro beleza e geralmente quando eu tô fazendo alguma aula que eu não preciso ir muito mais a fundo de objeto eu crio esse objeto literal porque é muito fácil mostrar para pessoa eu estou com microfone que é preto e ele está ligado só que o seguinte tudo bem agora eu vou querer pegar esse microfone aqui e eu quero que esse microfone tá microfone eu quero saber a cor dele tá bom console logo hein Olha vamos ver agora os motivos de talvez a gente mudar um pouquinho acordei ele é black e se eu quiser ter um outro microfone só que dessa vez Branco porque não sei eu quero ter um microfone branco o que é que vai acontecer eu vou ter que fazer o que pegar isso daqui ou eu vou mudar a cor dele retribuir o valor para esse cara só que se eu retribuo valor vamos lá ele aqui é o preto esse aqui eu vou atribuir a cor vamos lá a conhecer Branco White tudo bem E mais tá mais à frente eu vou querer usar o preto de novo e agora que que eu faço que que eu faço retribuo de novo e aí eu vou ter que ficar mudando o corpo da hora dele você percebe que estou mexendo no mesmo microfone e se eu quiser precisar criar 20 30 40 microfones significa que vou precisar fazer a control c control V todas as vezes tá porque eu estou com um objeto literalmente criado na minha tela agora eu tenho maneiras de estruturar isso colocar isso aqui no centro de um outro sistema Onde eu posso simplesmente pegar e criar vários objetos a partir de um outro sistema tá então ele é só se eu precisar criar mais de um você já ter reuso desse objeto ou precisa mudar algum detalhe depois de ter assim 2010 criado vai eu tô com preguiça quero só fazer um controle você comprou verem todos eles tá bom vai chegar o momento se eu fizer mudar uma coisinha dele tirar ou colocar alguma coisa e você vai ter que mudar nos 20 todinho um monte de código Olha é muito melhor que você use uma outra estratégia quem sabe uma Factory Factory é um padrão de projeto Factor significa fábrica hora não acabei de falar com você se você quiser criar vários objetos você pode usar uma Factory Então vamos ver como funciona você crer a fé criar uma função tudo bem eu posso colocar um nome nela nesse caso uma função mai Ou posso o microfone tá bom vou criar um microfone é isso é isso se eu pegar aqui ó e colocasse irmã você vai falar mas não é só isso né não não é só isso mas calma lá se eu pego aqui ó vou pegar esse carinha aqui jogar aqui e vou criar aqui um uma constante microfone ela é o cliente microfone tá bom ela é isso aqui só que isso aqui não é nada porque estou atribuindo uma função que está sem nada aqui você nenhum retorno e esse microfone será no final das contas undefined para mim tudo bem porque não porque ele ele não tá soltando nada de volta vamos ver Factory ó tá ali já temos um erro já temos o erro porque eu não posso ver a propriedade eu não posso ler a propriedade color de um underline afinal de contas o microfone recebeu undefined e nessa linha eu tô querendo usar um color que nem existe aqui o que eu preciso fazer agora é retornar daqui o que o que o que é um objeto pronto eu retorno daqui objeto Tá certo eu posso pegar a mesma estrutura do objeto litro aqui eu vou pegar a mesma estrutura interna tá bom Ó a mesma Vou colocar aqui para gente né o que eu vou mudar aqui agora é simplesmente o uso dessas variáveis aqui tá vendo como que eu vou mudar esse uso ao invés de jogar direto aqui tá eu vou criar aqui um um controle aqui ó let is on e recebe o tio tudo bem Pronto agora eu tenho isso com aqui não preciso colocar aqui já já vou te mostrar porque eu posso tirar esse daqui tá E esse daqui porque dentro dessa função eu tenho todo um contexto aqui tá tudo um escopo todo local Zinho aonde eu estou usando o som aqui dentro aqui dentro beleza e ele existe em toda a minha função aqui dentro apesar de estar retornando esse objeto ele está dentro aqui de uma estrutura onde o som é visível então ele consegue usar esse escola aqui e alterar ele aí e eu quero se eu quiser jogar esse tom para fora eu tenho que falar que o valor dele é o som que está aqui ó tá isso Ó onde o inglês está ligado né então é desse valor aqui mas tô jogando pra cá e aqui ainda posso usar uma propriedade curtas mais um short renda aqui para você conhecer o eclipse quando a propriedade é o mesmo é o mesmo valor que havia uma variável né no caso tô passando essa variável para cá eu posso simplesmente tirar e ficar dessa forma Tudo bem e aí eu tenho a cor preta tá E aqui eu tenho uma fábrica de microfones mas olha você tinha falado marcam que na sua fábrica de microfones o legal dele é você criar um microfone também aqui e branco Esse é um microfone Black tá E esse é o microfone White que que você vai fazer agora marcam a Então em vez eu jogar aqui direto porque não colocar aqui um color recebendo né fazer ele recebeu color Aqui tá o Color Black e o Color White t's e claro posso pensar de diversas formas tá o o cobra pode começar com o black sempre se eu quiser tudo bem Vai começar como blek Ou seja quando eu não passar nada ele é black mas quando eu passar alguma coisa ele é um color eu não vou deixar aqui chumbado que a gente fala né o valor aqui fixo o que eu vou fazer aqui a colocar o Collor E você já sabe não é que esse color aqui é como se fosse a mesma variável que a gente frio aqui tá só que quem tá responsável em criar isso é aqui a função dentro do javscript existe um color rodando aqui todinho nessa parte para mim então por isso o acesso ele aqui com esse mesmo nome mas eu posso acessar o dessa forma ou seja esse retorno ele está jogando para fora para o mundo exterior pelo mundo exterior da ONG supondo que esse aqui é um mundinho aqui fechado agora esse retorno está jogando todas as informações para o mundo exterior lá para o universo tá e o universo é tudo isso aqui ele tá recebendo aqui e está recebendo aqui então nós temos dois carinhas aqui o preto e o branco Tá vou pegar aqui e Combo eu vou salvar e vou rodar o carinho aqui Black e White beleza temos o preto e o branco aqui agora mas mais um motivo de você entender o uso da Factory porque ela pode ser importante para você ou não esse jeito que tá legal também estruturado mais Olha eu não queria mandar para fora se ele está ligado ou desligado que eu não queria mandar isso daqui para fora o que acontece se eu olhar agora tá esse objeto litro eu vou começar por aqui deixa eu só pegar esse aqui comentar ou traçar um paralelo entre esses dois aqui tá vou jogar esse para o lado de cá vamos traçar um paralelo vou me jogar em algum lugar que não atrapalhe o código aqui Vamos lá gente é aqui eu acho que eu não posso apagar o código confira comigo seguinte eu vou colocar aqui console. log microfone aqui eu já entendi é só um microfone tá pessoal microfone e aqui eu vou colocar um consolo lado também deixou só comentar isso daqui e vou jogar o black ali ó console log in e o lado aqui beleza aqui vamos colocar o microfone black show de bola Vamos vamos se ligar essa linha aqui ó console.
log console. dir logo aqui tudo bem O que que eu quero fazer com você agora eu quero analisar esse objeto aqui para gente ver mais motivos da gente usar Talvez as outras estruturas que vou mostrar pra vocês de criar objeto vamos lá aqui eu quero fazer o que é node objetos ele entrou e vamos analisar esse objeto esse objeto aqui ele está mostrando para mim que ele tem color Black is on to go on of na função to God of youth vai mostrar aqui para mim aquele Factory o factory vai mostrar absolutamente a mesma coisa tudo bem A única diferença que eu estou mostrando Black se eu mostro para você White aqui o Haiti ele vai mostrar para você que esse color é o Haiti mas por algum motivo aqui eu não quero mais mostrar para o mundo exterior Y eu quero que dentro desse universo do Cleiton microfone existe o exame mais aqui em toda essa navegação desse universo não exista Mais e aí ó eu vou soltar esse cara de novo e perceba aqui agora tá o Color Black não tenho Skol disponível para o universo fora desse mundo aqui do cliente microfone tá bom ele está isolado aqui dentro está isolado aqui dentro eu não consigo fazer isso aqui com Object litro tá então a vamos de novo objeto litro pode ser simples pode ser fácil de criar fácil de ensinar a fácil de construir alguma coisa se eu precisar consumir mais de 1 e ter o uso de código molhou eu vou precisar ir para o factor beleza Fui protector no certinho mais uma vantagem esse com de algum cara ali se eu quisesse com desse cara ele legal legal legal legal para caramba né então eu posso colocar o objeto que litro como retorno não precisa ser necessariamente Object literal de retorno Afinal de contas já te mostrei para você agora eu posso dar uma uma voltada aqui vem para cá deixar isso aqui para cá agora posso voltar aqui afinal eu mostrei pra você que como estamos dentro de um isso e a gente tá então tranquilamente Livres aqui ó para fazer até outras funções aqui gente quiser tá ó deixa eu vamos viajar um pouquinho pega esse teu áudio aqui função não vou tirar daqui vou jogar aqui ela uma função que tem que ter um nome que vai ser Togo Coffee tudo bem Vou tirar essa, daqui e aqui ó eu posso receber aqui uma função estou off ela posso a o valor aqui na propriedade tal atributo está recebendo como valor uma função JavaScript tranquilo tá tudo certo só que ele vai usar essa forma quer usar um short renda e aí então Ó vou até fazer o seguinte Já que eu não quero exportar esse eu vou colocar ele em uma linha só tá bom E aqui é bom que você vai treinando bastante a sua visualização de código você entender o que tá acontecendo Olha que legal ah tá tudo aqui dentro e aqui nessa linha só vou colocar para universo fora desse mundo aqui tá fora desse mundo para níveis fora só o que eu quiser se eu não quiser colocar o Colors vou colocar outra coisa tudo bem Vamos colocar o que eu quiser Beleza então é entendido motivos aqui vamos para o próximo passo agora a a gente tem aqui um problema dentro da Factory E também o problema do objeto litro que é que a recriação das funções internas que eu quero dizer o seguinte vamos lá quando eu creio essa linha aqui ao executar essa função ele está criando Essa função para mim tudo bem jogando aqui para fora e eu estou recebendo tudo aqui color e toe-off como objeto beleza isso aqui foi criado se olha isso aqui de novo isso aqui vai ser criado de novo Tá bom então eu quero te ajudar a pensar que tem uma maneira de a gente fazer isso sem ficar recriando essa função aqui interna claro que a gente não vai usar Factor agora o que a gente vai fazer agora dá o próximo passo ir para Prototype Tudo bem Daqui a pouco eu vou voltar um pouquinho mais no conceito de prototype mas Prototype é a base no javscript em termos dos objetos que são criados já discription E como você cria mais Finger bem rapidamente quando você queria mais frente você pode atribuir essa Spring um monte de funcionalidades e da onde vem as funcionalidades perguntou ou propriedade da onde é que vende do que na isso aqui vem da cadeia de protótipos do javscript tá o tio a pertence por exemplo eu quero transformar essa estou indo aqui Mike em Mike grande né só no vídeo Prototype e vou dar virou Mike Grande pois você já se perguntou da onde é que veio isso que eu fiz uma esfinge aqui só o nome é mas é mágico JavaScript não é uma cadeia de protótipos significa o seguinte que eu tenho aqui uma esfinge Mike tá bom tem mais firme Mike Ele vai tentar ver se assistir Wing tem esse eu apertei aqui então pensa que ele vai estar olhando aqui tá por esse cara e vai falar pera aí Mas aqui não tem Tá então vamos fazer o seguinte sobe um nível procura agora da lá na cadeia Isso aqui é uma cadeia de prototype está procura no próximo pai dele se aqui dentro aqui desse pai de dentro das opções do pai dele existe aqui o tio pertence se existe ele já vai puxar aqui se não existir ele vai ficar subindo até chegar o momento do protótipo que dele para né que daí tem que chegar o momento que não vai ter mais nada para ele procurar E aí ele vai dar um erro falando que não existe o tio porque se a partir do momento que existe na cadeia de protótipo Pode não estar nem Spring mas ele vai subindo subindo subindo até achar assim é super por cima que eu tô te falando tá mas isso é a base do que eu preciso te ensinar agora quando eu vou criar um protótipo eu posso como um objeto né um Construtor objeto tudo que vai ser usado a cadeia de protótipo eu posso simplesmente fazer um function e colocar o nome dele por exemplo microfone Tá bom vou colocar dessa forma a e aqui eu vou fazer assim ó cost microfone pode ser o microfone normal olha que interessante New ó microfone aqui tem um grande lance agora se eu pegar aqui no consolar Gui o microfone tá e soltar aqui para gente ó nós temos um microfone um objeto categorizado Imagina assim tá classificado como um microfone é um objeto que tem até um nome sim tem até uma categoria para ele tem uma classificação para ele tá isso acontece justamente por causa do New que estou usando e porque automaticamente agora essa função já faz parte da cadeia de protótipos pode que legal e sem viu que ela já retornou para mim objeto vazio e eu não fiz nada nessa função para retornar Você lembra que se ele fosse só uma função assim olha que legal sem o Nil tá você lembra que eu te falei que ia ser tão diferente e de fato ali ó é uma função que não retorna nada ela define mas por causa da palavra-chave New ele deixou de ser uma simples função e se tornou no que a gente até fale de função Construtora por causa do ninho então agora nós temos um outro ideia que eu posso aplicar a cadeia de protótipos do diabo inscritos beleza entendido essa parte bom agora significa que aqui dentro eu posso trabalhar de algumas formas eu queria estar recebendo aquela que Ah tá porque era o jeito a gente tá falando e por padrão por padrão ela é black tá só que eu queria que o meu objeto agora o meu objeto tá este objeto olha pega essa palavra este objeto criado este objeto criado eu gostaria que a cor deste objeto fosse essa cor que passada aqui deixa objeto então diz é esse objeto color recebe aqui o Color tudo bem e se diz aqui está sendo a referência deste objeto que que ele recebeu o que microfone tá eu crio próximo que aqui seria White não é OK microfone dois vou colocar sentar é este objeto agora este objeto ou seja diz está referenciando esse objeto porque ele entrou nessa linha rodou esse cara com uniu e se diz é a referência desse carinha aqui então color que ele está recebendo alcolor passado aqui como aqui o passeio color por padrão ele vai substituir se Black e colocar aqui White beleza fechou vamos dar uma olhada nesse microfone no microfone dois Quem sabe né tá dá uma olhada no microfone dois vou limpar aqui e vou dar esse presente de novo tá liga o microfone do color black que o Marco microfone da color White legal e a gente ainda tem aquela ideia do diz é isso on na = por exemplo two ou falso eu não sei como que eu quero começar isso de fato eu posso até mostrar que como eu quero começar isso aula e tudo mais aí fica para você para brincar mas eu vou colocar aqui como isso é tio tudo bem mas vamos lá como que vai funcionar função Agora Marcão eu simplesmente Vou colocar aqui por exemplo vão começar por baixo tá eu vou colocar aqui function como que era só Gol mas vou pegar até a função aqui da Factory o que fica exatamente essa função e vou jogar aqui a marca só isso eu vou jogar função aqui você vai começar a ver que o próprio vs code ou de falar sem querer uma função ela não está sendo usada aqui dentro tudo bem em algum momento você vai rodar esse código e ele vai começar a explodir erros para você já foi nesse caso tá tão legal que ele não explodiu erros porque ele não executou a função tudo bem esse executar sua função e se eu quiser é a função que que é que eu vou fazer muito bem dessa forma ele tem uma função aqui dentro que eu poderia rodar essa função aqui dentro rodar essa função aqui dentro Eu estou off rodando aqui dentro começou a explodir erro porque a óbvia você pode olhar aqui que isso não existe em lugar nenhum aqui mas ele está dentro do this on Ele não tá aqui então de alguma forma eu terei que mudar de Frades e só tudo bem diz isso ó e diz isso come tudo bem aqui eu tô rodando a função diretamente vamos lá joguei aqui beleza ligar desligar microfone microfone que que ele tá fazendo aqui ele tá vindo nessa linha na criação na criação olha que louco newtown na criação eu comecei a criar essa função não é o que eu queria gente não é o que eu queria e aqui eu não tô escutando nada que eu não tenho retorni o objeto não tem isso porque isso aqui não é uma Factor mais então assim já não funciona para mim o que vai funcionar para mim agora quem sabe eu colocar isso Oi tudo bem Ó o diz vai receber aqui uma função eu vou até fazer aeroshopping gente brincar um pouquinho aqui mas pode trocar isso aqui para função tudo bem Todas fazem uma função tem efeitos colaterais diferenciados mas todos criam função Ah mas por algum motivo eu quero fazer essa forma então é possível Thalia rodei temos um microfone temos a corpo Escom e temos o teu Gol one-off mas aqui dessa forma aqui tá que ainda não entramos no no próprio type em si nessa forma que eu tenho o mesmo problema que identifiquei para você aqui ó toda vez que estou cliente microfone trato microfone Estou criando essa função novamente clientes eu queria novamente nessa maneira toda vez que eu tô fazendo mil eu estou criando essa função novamente New criando essa função novamente Não eu queria ao invés então eu deixar neste objeto disso né nesse objeto que eu vou fazer vou recortar essa parte vou tirar aqui e eu invés de deixar neste objeto o que eu vou fazer é pa é o microfone eu vou pegar ou para Mike não é podia ser Mike porque o Mike né mas é uma microfone gente vamos lá microfone aqui que ele dá isso é o microfone na cadeia de protótipos ó Prototype assim que o acesso a cadeia de protótipos na cadeia de protótipos eu quero adicionar aquela todo on-off é isso eu quero fazer você já percebeu que Apesar dele está deslocado dessa função Ele está aqui no meio do meu código deslocado a função é ele já entendeu que eu estou pegando essa função a cadeia de protótipos e tô adicionando que jogou off na cadeia de protótipos pressa função eu já tenho agora o diz e esses aqui é a referência de si mesmo disse que há referência a um objeto criado no momento Nossa isso é lindo ou não é linda é muito lindo agora vem o estudo detalhe para você o que nós vimos antes color Y jogou com top o que que nós vamos ver agora opa color e som e não estamos vendo mais essa função e aqui ó por quê Porque agora ela não está no objeto Mas ela está na cadeia de protótipos do objeto é outra conversa tá mas ela existe marcam ela funciona É claro ó o microfone dois pode ser Vamos colocar aqui todo o cof Então você jogar isso algumas vezes ele vai ficar ligando e desligando e ligando e desligando e ligando e desligando tá ali desligar ligar desligar e ligar show de bola você percebeu Qual que é a pegada desse essa onda Então pronto tá que serve para isso vamos lá é o disso é referência do objeto no próprio time funções extras são criadas pelo próprio Type e não lá no Bis tudo bem porque se você criar uma função dentro da função principal já ali dentro do disse né colocando ela não diz ela vai se repetir de novo e a gente acaba caindo lá naquele problema só já vou tá explicar para você nível de vamos se situar se você tá super no começo começa a vida com o objeto de litrão Preciso fazer uma coisinha melhor Factory eu uso muito Factory o bilhete dele muito mesmo pronto Type eu já começo a ver que é um outro nível de abstração de negócio outra é porque é entendimento de diz a entendimento de outras outros contextos de execução do JavaScript é outra conversa mas dá para já você começar a entender como funciona isso aqui não estou falando aqui pra frente você vai pegar e vai fazer tudo comprou pronto tá aqui porque não vai ficar repetindo uma função Não Faz Sentido se você precisa fazer uma bilhete litro faz se você precisa fazer mais um objeto isso aqui tá pra você tá bom faz se agora você vai precisar criar toda uma regra de negócio todo um projeto complexo diferente então e você precisa com que tem essa idade do próprio time que faz agora nós vamos partir para uma ideia bem legal que é a classe também tudo bem vamos lá de classe palavra-chave classe tá coloca o nome que eu quero um microfone o nome da classe que eu quero microfone tudo bem abre e fecha fecha as chaves tudo bem essa sintaxe do começo da Classe A classe e ela pode ter um Construtor por quê Porque eu quero começar com uma cor ali que pode ser o black como eu falei ou a cor que eu passar né então ela começa com um consultor e no Construtor O que é referência do objeto eu vou criar daqui a pouquinho tá bom que vai receber aqui a colo e tenho tudo isso também tá eu posso dizer dessa forma eu posso colocar aqui e vamos começar aqui como tu por exemplo tá poderia fazer dessa forma aqui na classe também tá mas não é elegante da forma que eu fiz ali já começar com os valores para mim agora nesse momento eu prefiro mostrar para você dessa forma Tá bom vou lá classe microfone fechou vamos fazer aqui uma constante microfone microfone tá ela vai receber knew o microfone igualzinho o próprio taco não é igualzinho Prototype fechou Vamos colocar aqui no blog o que nós temos esse objeto agora o microfone e vamos rodar aqui esse vai ser o Class JS Itália o microfone color Black Skull tattoo A não ser que eu mude a cor dele aqui tá bom E daí vai ter uma outra cor e outro eu não sei que eu também que irá mudar essa cor por aqui o de construir ele tá você quiser criar outras funções e agora se eu quiser criar outras funções aqui eu botei na cadeia de protótipos E agora como é que eu faço muito bem vou pegar essa função aqui ó copiar tá bom contra você vou vir aqui aqui eu sou um espaço dentro de todas essas chaves aqui da classe eu posso colocar a função aqui diretamente pelo nome tá bom logo off pronto diretamente pelo nome tá criado uma função aqui e disponível para usar aqui fora microfone microfone trago off algumas vezes tudo bem aqui eu tenho meu corretor aqui do meu é seguinte meu eu acho que é esse vídeo que tá instalado aqui não é um excelente não é o player é um plugin aqui do dress code que já tá colocando os pontos e vírgulas está fazendo a formatação de corda emprego Tudo bem por lá se eu mandar de novo que eu tenho desligar e ligar desligar e ligar e gostaria de dar uma olhada agora um como está meu objeto afinal de contas eu tô dando essa acompanhada no objeto na e São desse objeto né que é aquele está acontecendo com ele se as coisas são visíveis não estão visíveis microfone escrever certo Acho que sim se eu escrevi errado vai aparecer o erro e aí a gente acerta vai lá na onde Play Store o microfone tá ele tem um nome microfone color White Swan outro e olha que legal a função não está aparecendo nele também porque aqui vem o grande segredo agora para você entender a classe não javscript a classe em Java script não é uma synthetic subir quem fala é só uma maneira bela e elegante de emoção Prototype under the Hood significa debaixo do capô então se você abrir o capô do carro ele tem um motor e o motor é são as coisas mais aprofundadas as coisas então por mais o seu aprofundamento de uma classe você vai saber que o JavaScript Está transformando toda aquela sentar sizinha julgar bonitinha sintaxes Uber é uma sintaxe bonitinha ela está transformando para a cadeia de protótipos mas você tem uma clareza visual porque se você dá o dentro protótipo tá que tá sendo criado dessa forma e a classe que está sendo criada dessa forma a classe me parece às vezes um pouquinho mais elegante Tá mas sempre percebeu que ambos vão usar New e tudo mais legal e é o seguinte não é igual a classe de linguagens orientadas a objetos simplesmente Nisso porque a classe orientado a objeto que que ela vai fazer ela vai te devolver um objeto que tem a cor e sol e esse método que tá aqui não aqui você vai pegar color e som esse método e toda a cadeia de protótipos o que você não tiver aqui né por exemplo você quer fazer um color microfone vamos lá você vai entender isso microfone collor.