title: Difference between nameFunction() {} and nameFunction () => {} in ECMA6
body: <p>I'm start learning Vue.js and ECMA6 syntax, I saw this in the tutorial:</p>
  
  <pre><code>methods: {
    someMethod: function() { 
      console.log(this) // this works
    }
  } 
  </code></pre>
  
  <p>Then I thought the syntax could be:</p>
  
  <pre><code>methods: {
    someMethod: () =&gt; {
      console.log(this) // this undefined
    }
  }
  </code></pre>
  
  <p>but this works:</p>
  
  <pre><code>methods: {
    someMethod () {
      console.log(this) // this works
    }
  }
  </code></pre>
  
  <p>Can explain the difference and the ECMA5 syntax?</p>