Aula 02
Funções Geradoras do JavaScript, com Parâmetros
Summary
Resumo da Aula sobre Funções Geradoras em JavaScript
Nesta aula, o foco foi em aprender sobre funções geradoras em JavaScript e como elas podem aceitar parâmetros.
Principais Pontos Abordados
-
Criação de Função Geradora:
- A sintaxe para definir uma função geradora utiliza a palavra-chave
function*
. - Um exemplo de função geradora chamada
obterNúmeros
foi criada, que aceita um parâmetronúmeroInicial
.
- A sintaxe para definir uma função geradora utiliza a palavra-chave
-
Uso de
yield
:- Dentro da função geradora, foram utilizados
yield
para retornar valores calculados a partir do parâmetronúmeroInicial
(ex:númeroInicial + 1
,númeroInicial + 2
,númeroInicial + 3
).
- Dentro da função geradora, foram utilizados
-
Chamada da Função Geradora:
- Ao chamar a função
obterNúmeros(17)
, um objeto generator é retornado. - O método
next()
é utilizado para iterar sobre os valores gerados.
- Ao chamar a função
-
Retorno dos Valores:
- O primeiro
next()
retorna um objeto com a propriedadevalue
igual a 18 edone
igual a false. - O mesmo processo se repete para os próximos yields (19 e 20), até que a função chega ao fim, retornando
done: true
evalue: undefined
.
- O primeiro
-
Conclusão:
- As funções geradoras podem aceitar parâmetros, e esses parâmetros são utilizados na geração dos valores retornados. Esta aula serve para ilustrar esse conceito de forma prática.
Encerramento
A aula enfatiza a versatilidade das funções geradoras em JavaScript, permitindo assim a passagem de parâmetros para personalizar os valores retornados.
Video Transcript
Nesta aula vamos continuar a aprender sobre as funções geradoras do JavaScript.
Em particular, vamos adicionar um parâmetro à função geradora para ver que a função
geradora também aceita parâmetros do jeito que as outras funções normais aceitam.
Vamos definir aqui uma função geradora, como é que faz?
Você faz a palavra xavi func, que é seguida do quê?
Seguido do arte de arisco.
Então, vamos fazer a mesma coisa aqui, obter número, vamos fazer de maneira diferente.
Vamos adicionar uma variável aqui como parâmetro, vamos chamar número inicial aqui, sei lá.
Então, vou fazer assim, yield número inicial mais um, número inicial mais dois e sim por
de onde?
Essas coisas aqui, só para gente ilustrar um exemplo de como a função geradora também pode aceitar parâmetros.
Então, eu defini essa função geradora chamada obter números que contem o parâmetro número inicial.
Para cada yield, a gente só pega o número inicial e adiciona um, adiciona dois e adiciona três.
Então, quando a gente chamar obter número, é uma função geradora, vamos botar um número aqui, sei lá, 17, por exemplo.
Ah, não está, é 17 mesmo.
Quando eu chamar a função geradora, o que é que a gente obtém?
Um objeto generator, certo?
Então, vamos botar esse generator, objeto generator, tenta variar meu gen.
Ah, que eu tinha definido anteriormente, então deixa eu fazer, vou usar o let.
Deixa eu fazer outro número, vou chamar generator, certo?
Desculpe.
Então, tenta variar e chamar generator e foi obtido com a chamada obter número, 17.
Aí, quando a gente tem o generator, a gente fala o ponto next, chama o método next para poder percorrer a função e
vai chegar no próximo yield, pega o valor, que nesse caso vai ser o quê?
Vai ser 17 mais um que é 18.
Então, pegar o 18 vai retornar um objeto cuja propriedade value é 18, o dano vai ser falso, porque ainda não terminou de percorrer
todo o bloco da função, não é?
Então, assim por diante, falo generator index de novo, ele vai para o próximo bloco, chega no próximo yield,
pega o número de 17 mais 2 é 19, chegou aqui, um objeto é retornado, cuja propriedade value é 19,
o valor que foi retornado pelo yield, foi dado pelo yield, o dano ainda está fácil, porque ainda tem mais a percorrer
pela função, não chegou ao final ainda não.
Aí, vai de novo, pega 20, porque foi no outro yield, 17 mais 3 é 20, chegou aqui, dano falso ainda,
vai de novo, chegou no final da função, dano virou true, não é?
Não tem mais nada para percorrer, um valor vai ser underfined, porque a gente não tinha retornado nada mesmo, certo?
Então, esse exemplo é só para ilustrar que a função geradora também pode aceitar parâmetros,
não obrigada a ser sem nenhum parâmetro, o parâmetro só vai ser substituído aqui nos valores,
aqui nesse caso da variável número de sial, aí quando você percorrer a função, o valor vai ser substituído aqui sempre,
daquilo que você passou inicialmente para poder obter o objeto generator, certo?
Então, por essa aula é só e até a próxima.
Nenhum comentário ainda (loading...)
Nenhum comentário ainda (loading...)
Gostou da aula? 😆👍
Apoie nosso trabalho com uma doação: