title: Can you bind 'this' in an arrow function?
body: <p>I've been experimenting with ES6 for a while now, and I've just come to a slight problem.</p>
  
  <p>I really like using arrow functions, and whenever I can, I use them.</p>
  
  <p>However, it would appear that you can't bind them!</p>
  
  <p>Here is the function:</p>
  
  <pre><code>var f = () =&gt; console.log(this);
  </code></pre>
  
  <p>Here is the object I want to bind the function to:</p>
  
  <pre><code>var o = {'a': 42};
  </code></pre>
  
  <p>And here is how I would bind <code>f</code> to <code>o</code>:</p>
  
  <pre><code>var fBound = f.bind(o);
  </code></pre>
  
  <p>And then I can just call <code>fBound</code>:</p>
  
  <pre><code>fBound();
  </code></pre>
  
  <p>Which will output this (the <code>o</code> object):</p>
  
  <pre><code>{'a': 42}
  </code></pre>
  
  <p>Cool! Lovely! Except that it doesn't work. Instead of outputting the <code>o</code> object, it outputs the <code>window</code> object.</p>
  
  <p>So I'd like to know: can you bind arrow functions? (And if so, how?)</p>
  
  <hr>
  
  <p>I've tested the code above in Google Chrome 48 and Firefox 43, and the result is the same.</p>