title: const vs let when calling require
body: <p>As io.js now <a href="https://iojs.org/es6.html">supports ES6</a> you are finally able to use the <code>const</code> and <code>let</code> keywords. Obviously, <code>let</code> is the successor of <code>var</code>, just with some super-powers.</p>
  
  <p>But what about <code>const</code>? I know, of course, what "constant" means, but I was wondering when to use it (regarding best practices).</p>
  
  <p>E.g., if I create a module that requires another module, I could write:</p>
  
  <pre><code>'use strict';
  
  const util = require('util');
  
  const foo = function () {
    // Do something with util
  };
  
  module.exports = foo;
  </code></pre>
  
  <p>Basically I've replaced every occurence of <code>var</code> with <code>const</code>. Generally speaking, I think that this is okay, but if I follow this pattern, it leaves me with way more uses of <code>const</code> than <code>let</code>, as most variables aren't "variables" in a literal sense.</p>
  
  <p>Is this good style? Should I rather go for <code>let</code>? When should I choose <code>const</code> over <code>let</code>?</p>