# Iterator & Incrementor (types) in javascript

**URL:** <https://es.discourse.group/t/iterator-incrementor-types-in-javascript/512>\
**Category:** 💡 Ideas\
**Tags:** proposal\
**Created:** [October 23, 2020, 12:36pm UTC](https://es.discourse.group/t/iterator-incrementor-types-in-javascript/512 "2020-10-23T12:36:32Z")\
**Posts on this page:** 2\
**Page:** 1

<div class="post-metadata">

**Author:** ![Seagat2011](https://yyz2.discourse-cdn.com/free1/user_avatar/es.discourse.group/seagat2011/32/367_2.png) [@Seagat2011](https://es.discourse.group/u/Seagat2011)\
**Post date:** [October 23, 2020, 12:36pm UTC](https://es.discourse.group/t/iterator-incrementor-types-in-javascript/512/1 "2020-10-23T12:36:32Z")

</div>

Allow Iterator & Incrementor (types) in javascript

```javascript
[iter|inc] [variable-name] = [min:max[:step] ]   

/* max param is bounds-inclusive; step-size can be 
++--step or step++-- 
and size defaults to 1 */

```

Example

```javascript
let a = 0:10 // iter
let b = 0:10:1 // ++b
let c = 0:10:++1 // ++c

mat3[a] = mat1[b] * mat2[c] * mat3[a]
mat3[a][b][c] = mat1[a][b][c] * mat2[a][b][c] * mat3[a][b][c] // Computes right-most, first

let c2 = 0:10:1++ // c2++
let d = 10:1:--1 // --d

mat1[d] = d + 4

while(d) { // cast iter to inc (type)
    mat1[d] = d + 4
}

```

---

<div class="post-metadata">

**Author:** ![bergus](https://yyz2.discourse-cdn.com/free1/user_avatar/es.discourse.group/bergus/32/152_2.png) [@bergus](https://es.discourse.group/u/bergus)\
**Post date:** [October 24, 2020, 3:07am UTC](https://es.discourse.group/t/iterator-incrementor-types-in-javascript/512/2 "2020-10-24T03:07:12Z")

</div>

Have you seen the [`Number.range` proposal](https://github.com/tc39/proposal-Number.range)?
