Heim >Web-Frontend >js-Tutorial >Wie kann ich benannte Parameter in JavaScript-Funktionsaufrufen simulieren?

Wie kann ich benannte Parameter in JavaScript-Funktionsaufrufen simulieren?

Mary-Kate Olsen
Mary-Kate OlsenOriginal
2024-12-06 00:51:09191Durchsuche

How Can I Simulate Named Parameters in JavaScript Function Calls?

Simulieren benannter Parameter in JavaScript-Funktionsaufrufen

In Programmiersprachen wie C# ermöglichen benannte Parameter klare und prägnante Funktionsaufrufe durch Angabe von Parameternamen neben ihren Werten. JavaScript bietet diese Funktion jedoch nicht grundsätzlich. Es gibt jedoch Möglichkeiten, einen ähnlichen Effekt zu erzielen.

ES2015 und höher: Parameterdestrukturierung

Mit der Einführung von ES2015 bietet die Parameterdestrukturierung einen integrierten Mechanismus zur benannte Parameter simulieren. Mithilfe dieser Funktion kann eine Funktion ein Objekt als Argument akzeptieren und bestimmte Eigenschaften als benannte Parameter extrahieren:

function myFunction({ param1, param2 } = {}) {
  // ...function body...
}

Aufrufer können dann ein Objekt mit den gewünschten Parameterwerten übergeben:

myFunction({ param1: 70, param2: 175 });

ES5: Function.prototype.toString und Objektzuordnung

In ES5 beinhaltet eine hackige Methode die Verwendung Function.prototype.toString() zum Analysieren der Funktionssignatur und Identifizieren von Parameternamen. Dadurch können wir Eigenschaften eines Objekts mit den entsprechenden Parametern verknüpfen:

var func = parameterfy(function(a, b, c) {
  console.log('a is ' + a, ' | b is ' + b, ' | c is ' + c);     
});

func(1, 2, 3); // a is 1  | b is 2  | c is 3
func(1, {b:2, c:3}); // a is 1  | b is 2  | c is 3

Dieser Ansatz hat jedoch Nachteile:

  • Wenn das letzte Argument ein Objekt ist, wird es behandelt als „benanntes Argumentobjekt“.
  • Die Funktion empfängt immer alle definierten Argumente, mit undefinierten Werten als Platzhalter.

Zusätzliche Überlegungen

Als Alternative zum Erstellen von Funktions-Wrappern können Sie auch Funktionen haben, die eine Funktion und zusätzliche Argumente akzeptieren oder die Funktion erweitern. Prototyp zur Unterstützung der Ausführung von Funktionen mit benannten Parametern.

Das obige ist der detaillierte Inhalt vonWie kann ich benannte Parameter in JavaScript-Funktionsaufrufen simulieren?. 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