Diese Frage befasst sich mit einem interessanten Codeausschnitt, der eine definiert Objektmethode ohne Verwendung des Schlüsselworts „function“. Um diese Syntax zu verstehen, muss man sich mit der Einführung einer Kurzschreibweise zum Definieren von Methoden durch ES6 befassen.
Warum funktioniert das folgende Codefragment in einigen Browsern, obwohl das Schlüsselwort „function“ weggelassen wurde?
var module = { foobar(arg1) { alert(arg1); } }; module.foobar("Hello World");
Die Antwort liegt in der Einführung von a durch ES6 Kurzschreibweise zum Definieren von Objektmethoden. Gemäß der ECMAScript 2015-Spezifikation:
„Eine Eigenschaft eines Objekts kann sich auch auf eine Funktion oder eine Getter- oder Setter-Methode beziehen.“
var o = { property: function ([parameters]) {}, get property() {}, set property(value) {}, };
ES6 hat eine Kurzschreibweise eingeführt, die das entfernt Notwendigkeit des Schlüsselworts „function“:
// Shorthand method names (ES6) var o = { property([parameters]) {}, get property() {}, set property(value) {}, * generator() {} };
Das obige ist der detaillierte Inhalt vonWarum funktionieren ES6-Objektmethoden ohne das Schlüsselwort „function'?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!