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:
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!