title: Are there any issues with reassigning arguments as they're passed to a function
body: <p>In the following <code>throttle</code> function, <code>timeout</code> eventually turns into a number as it's assigned to the setTimeout. I'm redefining it as <code>false</code> as it's cleared, the code works.</p>
  <p>I don't notice anything on the surface, but wondering if there are any issues with doing things this way or there's something I might be missing?</p>
  <pre><code>const throttle = (fn, delay) =&gt; {
    let timeout;
  
    return (...args) =&gt; {
  
      if(!timeout) { 
        timeout = setTimeout(() =&gt; {
          fn(...args);
          clearTimeout(timeout = false);
        }, delay);
      }
  
    }
  };
  </code></pre>