Erstellen von Funktionen mit laufzeitbestimmten Namen (ohne Auswertung)
In JavaScript ist das Erstellen von Funktionen mit laufzeitbestimmten Namen in ECMAScript 2015 möglich und später unter Verwendung von zwei Schlüsselfunktionen: anonyme Funktionsausdrücke und berechnete Eigenschaften Namen.
ES2015-Lösung:
In ES2015 erben anonyme Funktionsausdrücke, die Objekteigenschaften zugewiesen sind, den Namen dieser Eigenschaft. Dies ermöglicht uns:
const dynamicName = "foo" + Math.floor(Math.random() * 1000); const obj = { [dynamicName]() { throw new Error(); }, }; const f = obj[dynamicName]; // Demonstrate function's name property console.log("Function's `name` property: " + f.name); // Exception handling reveals the name in stack traces try { f(); } catch (e) { console.log(e.stack); }
In diesem Code:
Kompatibilitätshinweis:
Beachten Sie, dass alle modernen Browser die Funktionalität implementieren, Edge und Safari den zugewiesenen Namen jedoch nicht in Stacktraces anzeigen.
Das obige ist der detaillierte Inhalt vonWie erstelle ich Funktionen mit laufzeitbestimmten Namen in JavaScript (ohne Auswertung)?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!