Compartilhe

Os ajudantes do iterador se tornaram a linha de base recentemente disponível | Blog | web.dev

Os ajudantes do iterador se tornaram a linha de base recentemente disponível

Fique organizado com coleções

Salvar e categorizar o conteúdo com base em suas preferências.

Publicado: 1 de maio de 2025

Se você escrever JavaScript, a iteração é algo que você faz muito. Você está escrevendo loops para trabalhar com matrizes ou usando métodos de programação funcional, como mapAssim, filter e outros métodos semelhantes para processar todos os tipos de dados.

Um ponto de discórdia com o uso desses métodos, no entanto, é que eles estão disponíveis apenas em matrizes. Se você quisesse usá -los em um iterável, teria que convertê -lo em uma matriz e depois chamar o método de que precisaria. Isso pode ser um desperdício, ou nos casos em que o iterável representa contém um conjunto de dados infinitos usando Funções do geradornão é possível. No entanto, agora que os ajudantes do iterador se tornaram recentemente disponíveis, essa habilidade está finalmente disponível nos navegadores.

Como os ajudantes do iterador funcionam?

Os ajudantes do iterador são expostos ao definir novos métodos no Iterator Objeto prototype. Esses métodos estão alinhados com muitos métodos de programação funcionais que você está acostumado a usar, como mapAssim, filterAssim, reducee outros métodos semelhantes.

Por exemplo, você pode usar um ajudante de iterador no filter método para filtrar os itens da lista pelo conteúdo de seus innerText propriedade para uma coleção de nós dom, que você pode usar posteriormente em um for laço:

const posts = document.querySelectorAll("ul#specific-list > li")
  .values()
  .filter(item => item.textContent.includes("kiwi"));

// For-of loops can only be used on iterables, which `posts` is!
for (const post of posts) {
  console.log(post.textContent);
}

No trenó de código anterior, o método do auxiliar de iterador para filter é usado para iterar sobre todos

  • elementos em um específico element. The filtering criteria is that each element's text content must contain a substring of "kiwi".

    Os ajudantes do iterador também podem ser usados com as funções geradoras. Neste exemplo, uma função de gerador que calcula fatoriaismas usa o ajudante do iterador para filtrar os valores para divisíveis por 8 e registrar os cinco primeiros valores filtrados no console:

    function* factorials (n) {
      let result = 1;
    
      for (let i = 1; i = n; i++) {
        result *= i;
    
        yield result;
      }
    }
    
    const filteredFactorials = factorials(128).filter(x => x % 8 === 0);
    
    console.log(filteredFactorials.next().value);
    console.log(filteredFactorials.next().value);
    console.log(filteredFactorials.next().value);
    console.log(filteredFactorials.next().value);
    console.log(filteredFactorials.next().value);
    

    Em particular, o trecho de código anterior é um exemplo de algo que não seria possível sem os ajudantes do iterador, porque o número de fatoriais é infinito, e não algo que você pode converter em uma matriz!

    Dependendo da sua situação, os ajudantes do iterador têm muito potencial - e estão disponíveis para cada um desses métodos iteráveis:

    As possibilidades para os casos de uso do ajudante de iterador são vastas e podem proporcionar um impulso significativo na ergonomia do desenvolvedor. Agora que eles estão disponíveis, você deve ter uma confiança crescente ao longo do tempo que pode usá -los sem medo de problemas de compatibilidade. Para mais informações, consulte os seguintes recursos:

  • Written by

    Categorias