Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

127
Views
Usando una función directamente o declarándola a una variable

Soy nuevo en el desarrollo de software y trato de comprender los conceptos básicos de JavaScript. En el siguiente código, si escribo iterator.next() en lugar de charAt en "while", el resultado cambia. ¿Puede explicarme por qué solo devuelve 1 cuando escribo iterator.next directamente?

 const str = '123'; const iterator = str[Symbol.iterator]() let charAt = iterator.next() while (!charAt.done) { console.log(charAt.value) charAt = iterator.next() // output: "1" // "2" // "3" }

 const str = '123'; const iterator = str[Symbol.iterator]() let charAt = iterator.next() while (!iterator.next().done) { console.log(charAt.value) charAt = iterator.next() // output: "1" }

about 4 years ago · Juan Pablo Isaza
2 answers
Answer question

0

Es más fácil ver si tienes una cuerda más larga.

 const str = '12345678'; const iterator = str[Symbol.iterator]() let charAt = iterator.next() while (!iterator.next().done) { console.log(charAt.value) charAt = iterator.next() // output: "1" }

Debido a que llamas a next() en dos lugares diferentes dentro del bucle (así como una vez fuera del bucle), cada vez que recorres el bucle, avanzas dos lugares.

about 4 years ago · Juan Pablo Isaza Report

0

  • has usado iterator.next() tres veces,
  • por primera vez devuelve 1, que asignas a charAt,
  • luego, en la condición de ciclo while iterator.next() devuelve 2, pero no lo ha asignado en ningún lugar,
  • y debido a que aún no ha actualizado su valor charAt, registra 1,
  • luego iterator.next() devuelve 3, que asignas a charAt,
  • pero en el segundo paso del ciclo while iterator.next() devuelve {done:true}, y el control no entra dentro del ciclo
about 4 years ago · Juan Pablo Isaza Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!