Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

137
Visualizações
Iterar sobre RegExp.exec(...)

Desde la página RegExp.exec en MDN, ofrece el siguiente ejemplo de iteración a través de una coincidencia con el indicador g establecido:

 const regex1 = RegExp('foo*', 'g'); const str1 = 'table football, foosball'; let array1; while ((array1 = regex1.exec(str1)) !== null) { console.log(`Found ${array1[0]}. Next starts at ${regex1.lastIndex}.`); // expected output: "Found foo. Next starts at 9." // expected output: "Found foo. Next starts at 19." }

Tengo dos preguntas sobre este código. La primera es por qué aquí se usa !=== null , ¿por qué el bucle while no se codifica correctamente como:

 while (array1 = regex1.exec(str1)) { // implicitly casts to boolean? console.log(`...`); }

Lo anterior me parece mucho más legible, pero me preguntaba por qué los documentos de MDN usaron el primer enfoque. Segundo, ¿es posible declarar y definir la variable directamente en el ciclo while ? Algo como:

 while (let array1 = regex1.exec(str1)) { // don't need the `let array1` above? console.log(`...`); }

¿O eso no es compatible con el lenguaje JS?

about 4 years ago · Juan Pablo Isaza
1 Respostas
Responde à pergunta

0

¿Por qué se usa el !== null aquí...?

Es cierto que en este caso no es necesario. .exec() devuelve una matriz o un null , y dado que las matrices siempre son verdaderas, no hay necesidad de compararlas explícitamente con un null .

¿Es posible declarar y definir la variable directamente en el ciclo while?

No. Si quieres eso, recurre al bucle for , que admite esto:

 for (let array1; array1 = regex1.exec(str1); null) { console.log(`...`); }

De hecho, esto tiene la ventaja de que array1 tiene un alcance más restringido. NB: proporcioné null para enfatizar que la tercera parte del encabezado for no se usa intencionalmente.

about 4 years ago · Juan Pablo Isaza Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda