# Source: https://github.com/quick-lint/quick-lint-js/blob/master/docs/errors/E0102.md

# E0102: C-style for loops have only three semicolon-separated components

```config-for-examples
{
  "globals": {
    "width": true,
    "height": true,
    "draw": true,
    "pixelAt": true
  }
}
```

C-style `for` loops have three components, each separated by `;`: an
initializer, a condition expression, and an update expression. It is a syntax
error to write more than three components:

```javascript
for (let x = 0, y = 0;
     x < width && y < height;
     ++x;
     ++y) {
  draw(x, y, pixelAt(x, y));
}
```

To fix this error, use `,` instead of `;` to separate expressions in the update
clause:

```javascript
for (let x = 0, y = 0;
     x < width && y < height;
     ++x, ++y) {
  draw(x, y, pixelAt(x, y));
}
```

Introduced in quick-lint-js version 0.2.0.