From 23707f95be317350b7ac72bf2df0662fe8eb4362 Mon Sep 17 00:00:00 2001 From: Bruno Peselli <42525651+pzzzl@users.noreply.github.com> Date: Sun, 4 Jul 2021 18:45:38 -0300 Subject: [PT-BR] Fixing typos & restructuring sentence (#1350) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit [en] Fixing some typos and restructuring the following sentence in portuguese: > You can make your own iterables like this: Originally writed as: > Nós podemos fazer, criar, os nossos próprios iteráveis como aqui: Converted into: > Você pode fazer seus próprios iteráveis ​​da seguinte maneira: [pt-br] Correções gramaticais e reestruturação de frase. --- .../web/javascript/guide/iterators_and_generators/index.html | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) (limited to 'files/pt-br/web') diff --git a/files/pt-br/web/javascript/guide/iterators_and_generators/index.html b/files/pt-br/web/javascript/guide/iterators_and_generators/index.html index c62d2b0c6e..77d5b829f5 100644 --- a/files/pt-br/web/javascript/guide/iterators_and_generators/index.html +++ b/files/pt-br/web/javascript/guide/iterators_and_generators/index.html @@ -53,11 +53,11 @@ console.log(it.next().done); // true

Um objeto é iterável (iterable), se ele define seu comportamento de iteração, como no caso de quais valores percorridos em um laço do tipo {{jsxref("Statements/for...of", "for..of")}}. Alguns tipos embutidos, como o {{jsxref("Array")}}, ou o {{jsxref("Map")}}, têm um comportamento iterável padrão, enquanto outros tipos (como o{{jsxref("Object")}}) não possuem.

-

Para que um objeto seja iterable, o objeto precisa implemntar o método @@iterator, significando que o objeto (ou um dos objetos na cadeia de prototipagem  - prototype chain) precisa ter uma propriedade com uma chave {{jsxref("Symbol.iterator")}}:

+

Para que um objeto seja iterable, o objeto precisa implementar o método @@iterator, significando que o objeto (ou um dos objetos na cadeia de prototipagem  - prototype chain) precisa ter uma propriedade com uma chave {{jsxref("Symbol.iterator")}}:

Iterables definidos pelo usuário

-

Nós podemos fazer, criar, os nossos próprios iteráveis como aqui:

+

Você pode fazer seus próprios iteráveis da seguinte maneira:

var myIterable = {}
 myIterable[Symbol.iterator] = function* () {
@@ -98,7 +98,7 @@ a // "a"
 
 

Generators

-

Enquanto os iteradores são ferramentas muito úteis, sua criação requer um cuidado devido a necessidade de manter explicito seu estado interno. {{jsxref("Global_Objects/Generator","Generators","","true")}} provê uma alternativa poderosa: eles te permitem definir um algorítimo iterativo escrevendo uma função simples que pode manter seu estado próprio.

+

Enquanto os iteradores são ferramentas muito úteis, sua criação requer um cuidado devido à necessidade de manter explícito seu estado interno. {{jsxref("Global_Objects/Generator","Generators","","true")}} provêm uma alternativa poderosa: eles te permitem definir um algorítimo iterativo escrevendo uma função simples que pode manter seu estado próprio.

Generator é um tipo especial de função que trabalha como uma factory para iteradores. A função vira um generator se ela contém uma ou mais expressões {{jsxref("Operators/yield","yield")}} e se ela usa a sintaxe {{jsxref("Statements/function*","function*")}}.

@@ -117,11 +117,11 @@ console.log(gen.next().value); // 2

Generators avançados

-

Generators computam seus valores "yielded" por demanda, que os permitem representar sequencias de forma eficiente que costumam ser trabalhosas ao serem computadas, ou até sequencias infinitas como demonstradas acima.

+

Generators computam seus valores "yielded" por demanda, que os permitem representar sequências de forma eficiente que costumam ser trabalhosas ao serem computadas, ou até sequências infinitas como demonstradas acima.

O método {{jsxref("Global_Objects/Generator/next","next()")}} também aceita um valor que pode ser usado para modificar o estado interno de um generator. O valor passado pro next() será tratado como o resultado da última expressão yield que pausou o generator.

-

Aqui um gerador de sequencia fibonacci usando next(x) pra restartar a sequencia:

+

Aqui um gerador de sequência Fibonacci usando next(x) pra restartar a sequência:

function* fibonacci(){
   var fn1 = 1;
@@ -157,6 +157,6 @@ console.log(sequence.next().value);     // 3

Se um yield não for encontrado durante o processo de lançamento de um thrown exception, então o exception será propagado através da chamada do throw(), e pra subsequente chamada do next() que terá a propriedade done resultando em true.

-

Generators tem o método {{jsxref("Global_Objects/Generator/return","return(value)")}} que retorna o valor pego e finaliza o generator.

+

Generators têm o método {{jsxref("Global_Objects/Generator/return","return(value)")}} que retorna o valor pego e finaliza o generator.

{{PreviousNext("Web/JavaScript/Guide/Details_of_the_Object_Model", "Web/JavaScript/Guide/Meta_programming")}}

-- cgit v1.2.3-54-g00ecf