Heim >Web-Frontend >js-Tutorial >Warum funktionieren ES6-Objektmethoden ohne das Schlüsselwort „function'?

Warum funktionieren ES6-Objektmethoden ohne das Schlüsselwort „function'?

Susan Sarandon
Susan SarandonOriginal
2024-12-02 08:27:10299Durchsuche

Why Do ES6 Object Methods Work Without the

Wie funktioniert diese Objektmethodendefinition ohne das Schlüsselwort „function“?

Übersicht

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.

Frage

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");

Antwort

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!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn