title: How does this range function from the MDN docs work?
body: <p>The MDN docs describe the Array.from() syntax as such;</p>
  <pre><code>// Arrow function
  Array.from(arrayLike, (element) =&gt; { ... } )
  Array.from(arrayLike, (element, index) =&gt; { ... } )
  Array.from(arrayLike, (element, index, array) =&gt; { ... } )
  </code></pre>
  <p>It also provides an example range function like this;</p>
  <pre><code>  const range = (start, stop, step) =&gt; Array.from({ length: (stop - start) / step + 1}, (_, i) =&gt; start + (i * step));
  </code></pre>
  <p>I'm trying to understand exactly how this code works and I'm confused about two things:</p>
  <p>1.) How is the <code>{ length: (stop - start) / step + 1}</code> functioning as an arrayLike object here? Wouldn't that just result in a an object <code>{length: number}</code> ?</p>
  <p>2.) What's going on with the _ in the <code>(_, i)</code> passed in as the index?</p>