Ich Vue.js und ECMA6 Syntax erlernen, sah ich dies im Tutorial:Unterschied zwischen nameFunction() {} und nameFunction() => {} in ECMA6
methods: {
someMethod: function() {
console.log(this) // this works
}
}
Dann dachte ich, das Syntax könnte sein:
methods: {
someMethod:() => {
console.log(this) // this undefined
}
}
aber dies funktioniert:
methods: {
someMethod() {
console.log(this) // this works
}
}
kann den Unterschied und die ECMA5 Syntax erklären?
Der dritte ist ein ES6 Abkürzung für die erste. Wenn Sie die Pfeilsyntax wie in der zweiten Syntax verwenden, wird "this" NICHT als Host-Objekt festgelegt. Das ist eines der Merkmale der Pfeilsyntax und sollte daher nicht verwendet werden, wenn Sie erwarten, dass 'this' auf das Host-Objekt gesetzt wird. – jfriend00
Die dritte ist eine benannte Abkürzung für die erste: 'someMethod: function someMethod() {}' und 'someMethod() {}'. – dfsq
@ jfriend00 ja ich weiß aber, was ist der Unterschied zwischen der zweiten und der dritten, oder wie ist das in ECMA5 besser den Unterschied zu verstehen –