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

154
Views
Using var to intentionally leak a variable

Is the following pattern ok in javascript, or is this frowned upon? And if the latter, what would be a better approach?

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 answers
Answer question

0

This is valid JavaScript.

Some people may like that, but it's a bit outdated and mixing old and new styles (var, but in combination with destructuring).

Also having code inside the interation clause of the for loop can be confusing.

I would prefer this instead:

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 Report

0

It really depends on the person to be honest. Some people will like this pattern because it makes the code shorter but in my personally opinion it makes the code harder to understand.

The reason this works is because of javascript hoisting. You can read more about this here. https://www.w3schools.com/js/js_hoisting.asp

Now, if you were to switch this code to use let this code would break.

I think its also important to understand how var differs from let & const.

This article explained the differences very good https://medium.com/@codingsam/awesome-javascript-no-more-var-working-title-999428999994

I personally would write this code like this:

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 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!