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
Freigeben: 2024-12-06 00:51:09
Original
161 Leute haben es durchsucht

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...
}
Nach dem Login kopieren

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

myFunction({ param1: 70, param2: 175 });
Nach dem Login kopieren

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
Nach dem Login kopieren

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!

Quelle:php.cn
Erklärung dieser Website
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
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage