2017-09-22 6 views
2

Der folgende Code funktioniert nicht:Warum kann ich die ES6-Funktionssyntax nicht als Konstruktor verwenden?

let myClass =()=>{ 
    this.value = 2 
    return this 
} 

myClass.prototype.print =()=>{ 
    console.log(this.value) 
} 

Während diese

arbeitet
let myClass = function(){ 
    this.value = 2 
    return this 
} 

myClass.prototype.print = function(){ 
    console.log(this.value) 
} 

Was Funktion der Unterschied zwischen ES6 Funktion und regelmäßige war?

+3

Da die Pfeilfunktion nicht als Konstruktor verwendet werden soll, dient sie auch nicht als Methode. Das Lesen der [Dokumentation] (https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Functions/Arrow_functions) ist immer nützlich. – Teemu

Antwort

2

Arrow-Funktionen befassen sich nicht mit this Schlüsselwort, wie es mit normalen Funktionen tut.

innerhalb Pfeil Funktionen der Wert this ist das gleiche wie das, was es außerhalb der Funktion ist

Verwandte Themen