title: Why can't "this" be changed?
body: <p>I know you can change the context of <code>this</code> by using <code>apply</code> and etc.</p>
  
  <p>But why can't you do this?</p>
  
  <p><code>this = 5; // invalid left-hand side in assignment</code></p>
  
  <p>It's not much different from this:</p>
  
  <pre><code>function Foo() {
       console.log(this.valueOf());
  }
  
  Foo.apply(5);
  </code></pre>
  
  <p>What is the difference between using <code>apply</code> and <code>this = 5</code>? Doesn't apply just locally redefine what <code>this</code> is for whatever function is being called?</p>