jurassic
v3.0
Jurassic ist eine Implementierung der ECMAScript-Sprache und -Laufzeit. Ziel ist es, die leistungsstärkste und standardkonformste Implementierung von JavaScript für .NET bereitzustellen. Jurassic ist nicht für Endbenutzer gedacht; Stattdessen soll es in .NET-Programme integriert werden. Wenn Sie Autor eines .NET-Programms sind, können Sie Jurassic zum Kompilieren und Ausführen von JavaScript-Code verwenden.
Installieren Sie das NuGet-Paket.
Vollständige Nutzungsdetails finden Sie im Wiki.
Die Unterstützung für ECMAScript 6 ist in Arbeit. Die Definition der einzelnen Funktionen finden Sie unter http://kangax.github.io/compat-table/es6/. Die folgende Tabelle ist ab Version 3.1 korrekt.
Besonderheit | Status |
---|---|
Optimierung | |
Richtige Tail Calls (Tail Call Optimierung) | |
Syntax | |
Standardfunktionsparameter | 4/7 |
Ruheparameter | |
Spread-Syntax für iterierbare Objekte | |
Objektliteralerweiterungen | ✅ 6/6 |
for..of Schleifen | 6/9 |
Oktal- und Binärliterale | ✅ 4/4 |
Vorlagenliterale | 6/7 |
RegExp-Flags „y“ und „u“. | |
Destrukturierung, Deklarationen | |
Destrukturierung, Zuordnung | |
Destrukturierung, Parameter | |
Unicode-Codepunkt-Escapezeichen | ✅ 4/4 |
neues.Ziel | ✅ 2/2 |
Bindungen | |
const | ✅ 18/18 |
lassen | 14/16 |
Funktionsdeklaration auf Blockebene[18] | |
Funktionen | |
Pfeilfunktionen | |
Klasse | ✅ 24/24 |
super | ✅ 8/8 |
Generatoren | |
Einbauten | |
typisierte Arrays | 45/46 |
Karte | 18/19 |
Satz | 18/19 |
Schwache Karte | 11/12 |
WeakSet | 10/11 |
Proxy [25] | 33/34 |
Reflektieren [26] | 18/20 |
Versprechen | 4/8 |
Symbol | ✅ 12/12 |
bekannte Symbole[27] | 23/26 |
Integrierte Erweiterungen | |
Objektstatische Methoden | ✅ 4/4 |
Funktion „Name“-Eigenschaft | 17.10 |
Statische String-Methoden | ✅ 2/2 |
String.prototype-Methoden | ✅ 10/10 |
RegExp.prototype-Eigenschaften | ✅ 6/6 |
Statische Array-Methoden | 8/11 |
Array.prototype-Methoden | ✅ 10/10 |
Zahleneigenschaften | ✅ 9/9 |
Mathematische Methoden | ✅ 17/17 |
Date.prototype[Symbol.toPrimitive] | ✅ 1/1 |
Unterklassen | |
Array ist unterklassierbar | 11. September |
RegExp ist unterklassierbar | ✅ 4/4 |
Die Funktion ist unterklassisierbar | 4/6 |
Versprechen ist unterklassierbar | |
verschiedene Unterklassen | |
Sonstiges | |
Prototyp gebundener Funktionen | 1/5 |
Proxy, interne „Get“-Aufrufe | 19/36 |
Proxy, interne „Set“-Aufrufe | 7/11 |
Proxy, interne „defineProperty“-Aufrufe | |
Proxy, interne „deleteProperty“-Aufrufe | |
Proxy, interne „getOwnPropertyDescriptor“-Aufrufe | 2/4 |
Proxy, interne „ownKeys“-Aufrufe | ✅ 3/3 |
Objektstatische Methoden akzeptieren Grundelemente | ✅ 10/10 |
eigene Eigentumsordnung | 5/7 |
Aktualisierte Bezeichnersyntax | 1/3 |
Verschiedenes | 8/9 |
Anhang b | |
nicht-strikte Funktionssemantik[35] | 2/3 |
__proto__ in Objektliteralen [36] | |
Object.prototype.__proto__ | 1/6 |
String.prototype HTML-Methoden | ✅ 3/3 |
RegExp.prototype.compile | 1/2 |
RegExp-Syntaxerweiterungen | 4/8 |
Kommentare im HTML-Stil |