Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

156
Vistas
Usando var para filtrar intencionalmente una variable

¿Está bien el siguiente patrón en javascript, o está mal visto? Y si es lo último, ¿cuál sería un mejor enfoque?

 function arithmetic_sum(n) { for (var [i, sum] = [0, 0]; i <= n; sum += i++); return sum; } console.log(arithmetic_sum(10)); // 55

about 4 years ago · Juan Pablo Isaza
2 Respuestas
Responde la pregunta

0

Este es JavaScript válido.

A algunas personas les puede gustar eso, pero está un poco desactualizado y mezcla estilos antiguos y nuevos (var, pero en combinación con desestructuración).

Además, tener código dentro de la cláusula de interacción del bucle for puede resultar confuso.

Preferiría esto en su lugar:

 function arithmetic_sum(n) { let sum = 0; for (let i = 0; i <= n; i++) { sum += i; } return sum; } console.log(arithmetic_sum(10)); // 55

about 4 years ago · Juan Pablo Isaza Denunciar

0

Realmente depende de la persona para ser honesto. A algunas personas les gustará este patrón porque hace que el código sea más corto pero, en mi opinión personal, hace que el código sea más difícil de entender.

La razón por la que esto funciona es por la elevación de javascript. Puedes leer más sobre esto aquí. https://www.w3schools.com/js/js_hoisting.asp

Ahora, si tuviera que cambiar este código para usarlo let este código se rompa.

Creo que también es importante entender cómo var difiere de let & const .

Este artículo explica muy bien las diferencias https://medium.com/@codingsam/awesome-javascript-no-more-var-working-title-999428999994

Yo personalmente escribiría este código así:

 function arithmetic_sum(n) { let sum = 0; for (let i = 0; i <= n; i++) sum += i; return sum; } console.log(arithmetic_sum(10)); // 55
about 4 years ago · Juan Pablo Isaza Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda