Antes de começar esse vídeo, responda aquelas perguntas que geralmente a gente faz: Em primeiro lugar você conseguiu simplificar seus códigos com o uso de Array? Você é uma daquelas pessoas que tem medo de os vetores que fala "ah não Array é muito difícil"? Por acaso você assistiu a aula anterior, aqui em cima da minha cabeça você acessa o curso completo, vai lá e assiste o vídeo 15 se você não fez isso, na verdade assiste todos os vídeos.
Outra coisa que eu tenho para te perguntar você sabe colocar uma Array em ordem usando apenas uma linha, usando apenas a chamada para uma função? Se você não aprendeu a fazer isso também está no vídeo 15, uma outra coisa que a gente precisa também, isso é de umas aulas lá atrás, se não me engano a 10, você sabe como disparar uma função simples quando a gente aperta um botão em HTML? É uma aula do curso completo também que a gente fala sobre o DOM que é o Document Object Model e a gente já aprendeu várias maneiras de disparar funções.
E por falar em funções você quer aprender mais sobre funções, quer saber mais sobre o potencial dessa coisa muito importante principalmente para o JavaScript que é uma linguagem funcional? Pois então se você quer as respostas para aquelas perguntas anteriores, você tem que assistir vídeos anteriores, agora se o seu objetivo aqui é aprender um pouco mais sobre a função você está no lugar certo. Seja bem-vindo, seja bem-vinda a mais uma aula.
♫ ♫ Olá pequeno Gafanhoto seja bem-vinda à mais uma aula do seu Curso em Vídeo de JavaScript totalmente patrocinado pelo Google! O meu nome é Gustavo Guanabara, eu sou professor e agora a gente vai dar continuidade a um conceito que a gente já começou anteriormente, lá na aula 10 que é o uso de funções em JavaScript, a gente aprendeu a fazer funcionalidades simples mas a gente não falou sobre passagem de parâmetros, sobre retorno de resultados e isso a gente deixou aqui para o finalzinho da parte básica do seu curso de JavaScript. E como eu acabei de falar JavaScript é uma linguagem que funciona sob o paradigma funcional, ela é uma linguagem que funciona como uma linguagem funcional, então função é algo muito importante.
É claro que a gente vai ver as funcionalidades simples, bem básicas, mas esse básico é extremamente importante para todo tipo de linguagem. Então acompanha essa aula até o final, assiste esse vídeo até o finalzinho, prática, porque logo depois dessa aula vem uma sequência de exercícios, na verdade um grande exercício para que a gente possa resolver isso juntando os conceitos de Array, de função, tudo junto em um exemplo só envolvendo HTML, você não perde por esperar! Mas você precisa de conhecimento que você vai adquirir aqui nessa aula e antes de começar a aula e a gente aprender um pouco mais sobre função, eu quero pedir uma coisa que geralmente eu peço no final do vídeo, mas estou lembrando aqui no início porque tem gente que esquece de dar essa colaboração, aqui em baixo você se inscreve no canal sempre que sair aula nova você vai ser avisado se você habilitar a notificação, habilitar aquele sininho e se você receber a notificação, assista o vídeo porque quando você recebe a notificação e não abre o vídeo o YouTube pensa assim: "ah eu avisei ele não quis ver eu também não vou avisar mais", então assiste sempre que ele avisar.
E outra coisa que eu quero pedir também é o compartilhamento, já começou a aparecer um monte de gente sempre que a gente lança um curso. Compartilha la nos grupos de faculdade, grupos de estudo, grupos do Facebook, grupos do WhatsApp, avisa lá que tem um curso de JavaScript do Curso em Vídeo, que todo mundo sabe que aquele vídeo caprichado como sempre e desta vez como o curso inteiro está saindo no mesmo dia, é mais uma chance para você falar: "olha só o curso já está lá e já está completo, vai todo mundo lá e assiste tudo! " Vamos imaginar a seguinte situação do dia a dia, normal coisa que poderia acontecer na sua vida, você tem funções na sua vida, a sua mãe te dá várias funções na sua vida, todo filho tem um conjunto de tarefas que ele tem que fazer, seja ele varrer o quintal, arrumar o quarto isso tudo são tarefas, são rotinas e as linguagens de programação também chamam isso de funções ou funcionalidades.
Vamos imaginar a seguinte situação: olha só a sua mãe chega pra você constantemente, toda semana chega pra você pega um dinheirinho e entrega e fala assim: olha só pega esse dinheiro e vai na mercearia para comprar leite", qual é a sua função? Você pega esse dinheiro, vai até a mercearia, vai chegar lá da maneira que for, vai andando, vai pegar um trem, vai pegar um ônibus, vai de táxi, de Uber, enfim você vai chegar até a mercearia, vai fazer os procedimentos lá dentro, vai fazer o passo-a-passo pegar o leite, ir lá no caixa e entregar o dinheiro, vai pegar a sua garrafa de leite e vai entregar pra sua mãe, a sua mãe vai receber essa garrafa de leite, talvez um troquinho, (mentira nunca tem troco você compra tudo de bala que eu sei) e uma vez que a sua funcionalidade terminou, ela se encerrou e entende o seguinte para sua mãe não importa o que você fez, como você chegou, quanto estava o leite, o que importa a ela é o seguinte: ela tem que te entregar o dinheiro, te passar a ordem "quero o leite", você vai ter que trazer leite, como você vai fazer, o que você precisa fazer para chegar lá, qual mercearia você vai, não importa o que importa é que ela quer esse resultado, ela quer esse retorno. Vamos nessa cena dar alguns nomes aos bois, dar nomes algumas coisas que aparecem nessa cena: em primeiro lugar nós vamos dizer o seguinte, quando a sua mãe te chama e te passa a ordem a gente chama isso de (um nome óbvio) chamada, então toda função precisa ter uma chamada, às vezes a sua mãe te chamando pra comprar leite e às vezes você pode ter uma funcionalidade que acontece toda quarta feira de manhã, você não precisa de um disparo da sua mãe, o disparo é o seu relógio, toda a quarta feira 8 horas da manhã você tem que ir na mercearia, pegar o dinheiro na estante e comprar leite.
A chamada nem sempre ela é vocal, nem sempre ela é verbalizada, ela pode ser automatizada, outra coisa que você precisa: você não pode ir à mercearia pra comprar leite sem o dinheiro, sem alguma coisa de entrada que a gente chama de parâmetro e nessa história que contei existem dois parâmetros o dinheiro que você precisa para poder comprar e o que a sua mãe queria, qual foi o produto que ela quer também é um parâmetro de entrada, isso faz parte da chamada também. Quando você pega o dinheiro e de posse da informação de que sua mãe que é leite, ir à mercearia, chegar da maneira que for, o processo todo que acontece lá dentro, o que você tem que fazer para conseguir leite a gente chama de ação, então toda a função também tem uma ação envolvida e no final quando você volta pra casa e entrega o leite para sua mãe, você tem o que a gente chama de retorno, então preste atenção toda função pode ter os seguintes fatores: uma chamada, um conjunto de parâmetros, uma ação e um retorno. Nem toda a função usa parâmetros, nem toda a função tem retornos mas essas que a gente vai ver agora elas têm isso sim e eles são muito importantes para dar mais funcionalidades as nossas tarefas.
Agora a gente vai para a definição técnica coloca na sua cabeça essa cena, lembra sempre sua mãe fez uma chamada, passou parâmetro pra você, você foi lá e executou uma ação e de um retorno, isso é função, função na vida real, função pra programação tem essas definições aqui presta atenção: Funções são ações executadas assim que são chamadas ou em decorrência de um evento. Foi aquilo que eu falei você vai executar alguma coisa quando a sua mãe te chamar ou quando acontecer algum evento, quarta feira 8 horas da manhã, todo dia que chover você tem que tirar a roupa do varal, você não precisa que sua mãe te peça, começou a chover, tira a roupa do varal. Isso são funções que são executados automaticamente, outras precisam de uma chamada, outra coisa sobre funções: Uma função pode receber parâmetros (no nosso caso é o dinheiro, lá na nossa cena) e pode retornar um resultado (que no caso é a garrafa de leite), então para a programação esses dois conceitos que estão aqui do lado, eles servem e eles se encaixam perfeitamente naquela história que a gente acabou de contar aqui pra você, na verdade, na prática a gente já executa funções você deve se lembrar quando a gente fez o estudo do DOM no modelo de objetos por documento, a gente criou um botão e esse botão você podia fazer coisas com ele inclusive clicar sobre ele e quando você clicava ele disparava um evento que é o onclick do HTML, o onclick você vai dizer qual é o método que vai ser utilizado, qual é a função que vai ser disparada quando você clicar no botão, então você colocava lá no HTML o onclick e colocava na época, na aula 10 (se eu não me engano) uma chamada para uma função, essa função tem um nome que geralmente é o nome da ação e a gente tinha colocado lá naquela época abre parênteses, fecha parênteses, a gente não tinha passado os parâmetros ali no meio daqueles parentes é onde a gente vai passar os parâmetros, eu vou executar uma ação que é esse retângulozinho que apareceu e ele não tinha retorno, na época quando eu usava o DOM e eu não tinha retorno.
A partir de agora a gente vai dar um upgrade nesse conceito de função que a gente está vendo aqui, o que eu vou fazer agora é isso daqui olha eu vou dentro dos parentes, eu sou capaz de adicionar parâmetros e esses parâmetros vão ser processados pela ação e podem ter um resultado, essa ação ela não executa por padrão eu tenho que ter uma chamada, lembra disso? Essa chamada eu vou colocar aqui na linha debaixo, eu vou colocar ali "ação (5)", o que significa ação(5)? Eu estou chamando a ação, que é o nome da minha função, é só você olhar aqui em cima, então estou fazendo nessa linha a chamada, então na hora que eu executar esse código está aqui do lado, ele vai pular parte da função e vai executar só esse comando aqui debaixo, a ação e eu vou executar esse ação passando um valor, passando 5, esse valor 5 dessa linha que estou apontando aqui vai pra cima, vai para o parâmetro.
Então o parâmetro vai valer 5 neste caso aqui nesse exemplo, eu vou fazer as contas, vou fazer o processamento neste retângulo que está aparecendo aqui e no final eu posso dar um retorno de um resultado, esse retorno de resultado vai ser voltado lá de novo para a chamada, quem fez a chamada, na verdade a sua mãe no exemplo, então eu tinha identificado 4 componentes básicos lá da minha função: a chamada, os parâmetros, a ação e o retorno. Vamos fazer a mesma coisa aqui com esse código que está aparecendo aqui do lado, a minha chamada ela não está em cima, a minha chamada aqui embaixo é ela que vai disparar a execução dessa função aqui de cima, no caso do DOM que a gente usou anteriormente a chamada era o onclick do botão, só que a gente pode chamar ele pular de fora e a gente já vai ver como funciona isso. Eu tenho também os parâmetros, parâmetro está aqui em cima, na verdade esse 5 aqui debaixo também é um parâmetro que a gente chama de parâmetro real, aqui em cima a gente chama de parâmetro formal mas isso como o próprio nome sugere é só uma formalidade, quando você for aprender isso em tecnologia de programação, você vai se aprofundar um pouco mais sobre isso, a gente aqui está com curso básico.
A ação é essa daqui, é esse retângulo todo, tudo que pode ser feito durante a execução da sua função e por fim você tem esse comando return aqui que é usado no JavaScript que é o retorno de um resultado, vamos fazer um exemplo aqui que isso aqui está meio genérico, eu vou fazer um exemplo de uma funcionalidade bem simples que é verificar se o número é par ou ímpar, dá uma olhada aqui eu criei uma function, o nome dessa function é parimp (par e ímpar) e ela recebe um parâmetro que é um número "n" ali representado nessa primeira linha, eu abro nem fecho chaves e dentro dele eu vou verificar se esse n que ele recebeu como parâmetro é par ou ímpar, para verificar se o número é par ou ímpar é só eu verificar se ele é divisível por dois, a gente viu lá nas aulas e operadores lá na frente, se você não viu é só você clicar aqui em cima você tem o "Veja mais", aqui você tem acesso ao curso completo de JavaScript, nunca pule etapas, nunca pule uma aula porque você quer saber sobre um determinado assunto, você vai acabar se enrolando lá na frente e vai sair falando que o JavaScript é difícil e na verdade tem nada difícil, na verdade é bem fácil. Então o que eu vou fazer o seguinte: dentro da function eu vou criar um if, if (n%2==0) se o n dividido por 2 for resto 0 é sinal de que o n é par, então vai retornar 'par', se não, isso é se não for divisível por 2 eu retorno 'ímpar', eu posso ter mais de um return dentro de uma function sem problema nenhum, o que eu preciso é que apenas um deles seja executado, como aqui está dentro de um if sem problema nenhum, se eu deixar meu código assim ele não vai ser executado, eu posso executar o programa que ele não vai funcionar isso porque eu não tive uma coisa simples: a chamada, para fazer a chamada eu tenho que fazer aqui, eu criei uma variável chamada res e chamei parimp(11), isso é 11 é o meu parâmetro, eu vou pegar esse 11 e vou jogar lá pra cima no n, então o n está valendo 11, na próxima linha do if, if (n%2==0), 11 dividido por 2 dá resultado 5 e resta 1, então o meu resto (que é a porcentagem) não é 0, é 1, então ele não vai fazer o return 'par', ele vai vir aqui pra baixo e vai fazer o return 'ímpar' quando eu pegar esse return 'ímpar', essa palavra ímpar vai vir pra dentro de res, se eu mandar mostrar o res na tela ele vai mostrar a palavra ímpar, dá uma olhada nesse código aqui do lado, dá uma analisada nele vou tirar as linhas, análise eles e você vai ver como a coisa funciona. Se por acaso ainda não entrou na cabeça não tem problema, a gente já vai abrir o Visual Studio Code e colocar esse código para rodar mas nesse código aqui a gente também consegue identificar os elementos que a gente fez lá na história da sua mãe querendo que você trouxesse leite, olha só a gente tem a chamada que é essa chamada daqui que é a linha que vai fazer o disparo da ação, eu tenho o parâmetro que nesse caso aqui é o n, eu tenho a minha ação que é esse if completo, esse código todo dentro da função é a minha ação e eu tenho um retorno, só tive dois retornos, eu tenho duas linhas que têm o return só que nesse caso somente uma delas que foi o ímpar que vai ser meu retorno, uma função em JavaScript só pode ter um retorno.
E agora deu pra entender? Mas como sempre eu falo você não precisa confiar em mim, você não precisa confiar somente no que eu estou falando, vamos abrir o Visual Studio Code, abre o seu na sua casa também e vamos começar a praticar. ♫ Já estou aqui no Visual Studio Code, estou dentro do Windows, estou abrindo o Visual Studio Code agora e vou criar a nossa pasta da aula 16, já está na tela de Welcome, vamos abrir aqui o papelzinho, já estou com o meu código aberto que a gente viu todas as aulas, vou criar uma pasta nova que eu vou chamar de aula 16 e dentro dessa aula 16 aqui, eu vou criar um papelzinho e vamos criar o função01.
js vamos criar um código js, fechar aqui, vou encolher aqui e vou colocar em tela cheia pra gente conseguir entender direitinho como funciona o negócio. Em primeiro lugar vamos fazer esse do par ou ímpar eu vou colocar aqui: function parimpar(n), ele vai receber um número como parâmetro abriu o bloco beleza, eu tenho a minha função vamos colocar o if, if (n%2 == 0), (lembra de usar dois sinais de igual), return 'Par', se não return 'ímpar', vou executar o programa utilizando o F8, executei e nada aconteceu, significa que o meu programa está errado? Não, eu escrevi esse comando todo mas eu não chamei o parimpar, pra eu chamar o parimpar eu vou fazer o seguinte: parimpar e vou colocar um valor aqui, por exemplo 4, 4 eu sei que é par e você vai falar: "pronto, agora se eu executar vai aparecer par na tela", executei e nada aconteceu também, você deve se lembrar lá no início do curso quando a gente utilizou um prompt e não sabia o que fazer com o resultado e a gente precisa aprender a utilizar variáveis, lembra disso lá no início do curso?
É exatamente isso que a gente vai ter que fazer também. Então preciso jogar isso aqui dentro de uma variável por exemplo vou colocar aqui: let rés = parimpar(4) e aqui: console. log(res), agora se eu fizer isso, executei e ele escreveu par porque 4 é par.
Então basicamente só apareceu o par porque eu joguei dentro de uma variável e mostrei, eu também precisava da variável era só colocar direto: console. logparimpar(4)) dá pra fazer direto sem jogar para variável, escreve na tela o resultado de parimpar, olha lá escreveu que é par, se eu colocar aqui 223, 223 é ímpar, olha lá 223 ímpar. Tranquilo?
Então o que eu fiz foi o seguinte: aqui é a minha chamada, 223 é o meu parâmetro, esse parâmetro real aqui vai ser jogado dentro desse parâmetro formal n, através da chamada, o n está valendo 223, 223 dividido por 2 dá resto 1 então ele não vai retornar o par, ele vai retornar o ímpar. Isso aqui é meu retorno que vai ser jogado no console. log, então ele mostrou o ímpar na tela beleza?
Vamos fazer um outro exemplo bem simples aqui, vou criar um função02. js, vou salvar essa, vou deixa guardado aqui e vou criar o função02 dentro da aula 16, vou colocar aqui: função02. js, eu posso fazer o seguinte aqui: criar uma função soma e essa função soma vai receber dois valores, para diferenciar eu vou chamar de n1 e n2, ele recebe dois números: número 1 e número 2.
O que eu vou fazer com esse resultado? Eu vou retornar n1+ n2, então basicamente eu tenho que escrever o seguinte, vou mandar escrever na tela: console. log(soma(2, 5)) a soma entre 2 e 5 a gente sabe que é 7, então basicamente o que ele vai fazer aqui, presta atenção: essa é a minha chamada, soma 2 e 5 são meus parâmetros, são dois parâmetros, então o 2 vai vir pro primeiro parâmetro e o 5 vai vir para o segundo parâmetro.
Então tenho n1valendo 2 e n2 valendo 5 pra esse exemplo aqui, pra esse par de parâmetros, vai ficar 2+5 igual à 7, ele vai retornar o parâmetro, então tudo isso aqui vai valer 7 que foi a minha chamada inteira vai valer n1 + n2, o que eu vou fazer com esse 7? Escrever na tela, então se eu executar ele vai mostrar o 7 na tela aqui, viu como é que funcionou? Só que a gente tem um pequeno problema e se por acaso eu não mandar 2, se eu mandar soma 2?
Eu não mandei dois parâmetros o 2 vai vir pra dentro do n1 e o n2 vai ficar como undefined do JavaScript que significa indefinido (não definido), se eu executar aqui, F8, ele mostrou "not a number", isso é não é um número, não é um número porque ficou como 2 e indefinido, 2 mais indefinido no JavaScript é "NaN" que é "not a number", não é um número só que eu poso resolver isso, por exemplo: se eu por acaso não passar o n1 eu quero que ele considere 0 olha que maneiro que eu posso fazer são os parâmetros já pré-definidos, são parâmetro os opcionais, se o n1 não for passado é 0, se o n2 não for passado é 0, então se eu colocar aqui 7 com 3 o n1 não vai ficar valendo 0, vai ficar valendo 7, o n2 não vai ficar valendo 0 vai ficar no 3 e ele vai mostrar 10 na tela. Agora se eu passar só o 7 que estava dando not a number antes agora ele vai me dar simplesmente 7, porque? Porque eu mandei somar 7 com nada, 7 com nada dá 7, então esses parâmetros opcionais do JavaScript são muito úteis para você.
Uma outra coisa que eu posso fazer também no JavaScript, vou criar a função03 função03. js, vou jogar uma função dentro de uma variável, então eu vou colocar aqui: let v = function ( ), olha que bizarro! Você consegue fazer isso dentro do JavaScript porque ele é uma linguagem funcional nós não vamos nos aprofundar muito nisso mas dá pra fazer sim, então por exemplo se eu receber x e ele retornar o dobro de x, return x*2, eu tenho aqui a minha variável v vai receber um parâmetro e eu quero calcular o dobro dele, eu posso fazer isso aqui, mandar escrever na tela: console.
log(v(5)), se eu executar ele mostrou 10, isso é eu passei para a minha variável um parâmetro e ele conseguiu executar uma função. Existe também uma sintaxe que é arrow function, são as funções arrow, a função flecha que utiliza esse sinal aqui de flecha, só que eu não vou entrar nesse caso quem está no curso básico, mas existem muitas outras sintaxe para você poder aprender a utilizar funções em JavaScript, a gente consegue sim fazer isso mas isso já foge do escopo do nosso curso ser básico mas você pode com isso que eu te ensinei fazer um monte de coisa por exemplo aqui, vou criar a função 04 vamos criar mais um arquivo aqui, calcular o fatorial de um número, fatorial é o número é o seguinte vou colocar aqui: 5 fatorial é a mesma coisa que 5x4x3x2x1, seu professor provavelmente na aula de programação passou um programa para calcular o fatorial, então passou a seguinte: function fatorial(n) e vai retornar o fator desse número, vamos fazer o seguinte aqui: vou criar uma variável chamada fat e essa variável fat recebe 1, vou fazer um for e vou ter o meu contador começando em n e enquanto o contador for maior do que 1, o contador perde 1, porque eu quero fazer o seguinte, se eu passar 5 aqui ele vai começar em 5 e vai perdendo 1 até chegar 1, está vendo aqui? Ele começa em 5 e vai perdendo 1 até chegar no 1, olha aqui, ele começa no número (se for 5) e enquanto ele for maior do que 1, vai perdendo 1, a gente viu isso nas aulas repetição, e o meu fatorial vai receber o fatorial vezes o c, no final eu dou return fat, só como curiosidade o fato real de 5 é 120, vamos verificar se o fatorial de 5 é 120, então eu vou fazer o seguinte: console.
log(fatorial(5)), vamos ver se ele vai mostrar 120, executando e olha lá, 120, certinho. Eu posso ainda fazer o fatorial de uma outra maneira, de uma maneira recursiva. Uma recursão ela acontece quando uma função chamada ela mesma, olha só vou te mostrar, vou criar a função05.
js e eu vou fazer o seguinte aqui, fatorial é o nome da minha função então eu vou colocar aqui: function fatorial (n) e agora eu faço o seguinte vamos raciocinar aqui, existe uma possibilidade que é a seguinte forma recursiva, 5 fatorial é a mesma coisa que 5x4x3x2x1, a gente fez isso só que se você parar para analisar 4x3x2x1 é 4 fatorial, então eu posso reescrever que 5 fatorial é a mesma coisa que 5x4! , isso é, o fatorial de um número pode ser calculado baseado num fatorial de outro, por exemplo se eu tenho de forma genérica o fatorial de n esse fatorial de n é sempre n! = n x (n-1)!
a não ser que seja um fator é o de 1, porque a gente sabe que matematicamente o fatorial de 1 é 1. Baseado nesses conceitos, eu consigo fazer uma função recursiva da seguinte maneira: if (n == 1) isso é, se estou tentando calcular o fatorial de 1, que é esse aqui, eu sei que o resultado é um, então return 1, agora se não for um que não é essa regra daqui, ela vai seguir essa regra daqui que o fatorial do número é: return n* fatorial(n-1), então olha só o que está acontecendo aqui, eu estou criando a função fatorial que dentro dela, ela possui uma chamada para ela mesma, olha isso, eu um tenho fatorial que chama fatorial aqui dentro. Isso que a gente está fazendo é o que a gente chama de Recursividade, isso é um conceito um pouco mais complicado a gente não vai se aprofundar também nele, mas se você quiser dar uma estudada depois em recursividade também funciona, vou colocar aqui: console.
log(fatorial(5)), o mesmo fatorial que a gente fez antes, executando ele tem que mostrar 120 também. Então fatorial, cálculo de fatorial, um exemplo: funciona da maneira recursiva e funciona da maneira tradicional e existem outras funcionalidades que você pode fazer utilizando JavaScript e outras sintaxes porque o JavaScript é uma linguagem funcional, então ela tem muitas opções pra gente tratar e se essa parte do vídeo que você está vendo esses códigos aqui, eu vou deixar o último ficou muito corrido é porque função é um assunto muito grande, inclusive a gente nem vai encerrar ele, por várias vezes aqui nesse vídeo falei: "a gente está num curso básico, dá pra gente se aprofundar mais" e realmente dá para se aprofundar então a qualquer momento se você quiser assiste à essa aula de novo, assiste pausando, assiste fazendo na sua casa porque só assim você vai aprender. ♫ Então é isso pequeno Gafanhoto, a gente se despede por aqui do estudo das funções mas você sabendo que existem muitos deveres de casa.
O primeiro dever de casa no próximo vídeo vou te apresentar um problema e você vai resolver ele utilizando funções e Array que são os últimos dois assuntos aqui do nosso curso, faça exercício. O segundo trabalho de casa é você continuar estudando função porque função tem muita coisa dentro do JavaScript e não dá pra gente ver isso dentro de um curso básico, mas saiba que se você quer realmente virar um programador JavaScript completão, além desses passos básicos que a gente está dando também tem uma caminhada um pouquinho mais longa pela frente. Então é isso meu querido e minha querida é hora de dar tchau mas a prática é muito importante, então veja os próximos vídeos até o fim e faça na sua casa porque é só assim que você vai aprender, eu já falei no início do vídeo para você curtir e compartilhar, se inscrever no canal e habilitar a sinetinha, não vou falar isso de novo, apesar de ter acabado de falar de novo mas a minha tarefa agora é a seguinte se preciso for assiste esse vídeo de novo até você entender o que é uma função, o que é chamada, parâmetro, ação e retorno, se você conseguir entender isso dessa aula está ótimo no exercício a gente tira dúvidas a mais.
Um grande abraço boas práticas e a gente se vê no próximo vídeo, tchau!