jurassic
v3.0
Jurassic est une implémentation du langage et du runtime ECMAScript. Il vise à fournir l’implémentation de JavaScript pour .NET la plus performante et la plus conforme aux normes. Jurassic n'est pas destiné aux utilisateurs finaux ; il est plutôt destiné à être intégré aux programmes .NET. Si vous êtes l'auteur d'un programme .NET, vous pouvez utiliser Jurassic pour compiler et exécuter du code JavaScript.
Installez le package NuGet.
Consultez le wiki pour plus de détails sur l'utilisation.
La prise en charge d'ECMAScript 6 est en cours. Voir http://kangax.github.io/compat-table/es6/ pour la définition de chaque fonctionnalité. Le tableau ci-dessous est correct à partir de la version 3.1.
Fonctionnalité | Statut |
---|---|
Optimisation | |
appels de queue appropriés (optimisation des appels de queue) | |
Syntaxe | |
paramètres de fonction par défaut | 4/7 |
paramètres de repos | |
syntaxe de propagation pour les objets itérables | |
extensions littérales d'objet | ✅6/6 |
pour..de boucles | 6/9 |
littéraux octaux et binaires | ✅4/4 |
littéraux de modèle | 6/7 |
Drapeaux RegExp "y" et "u" | |
déstructuration, déclarations | |
déstructuration, cession | |
déstructuration, paramètres | |
Le point de code Unicode s'échappe | ✅4/4 |
nouveau.cible | ✅2/2 |
Reliures | |
const | ✅18/18 |
laisser | 14/16 |
déclaration de fonction au niveau du bloc[18] | |
Fonctions | |
fonctions de flèche | |
classe | ✅24/24 |
super | ✅8/8 |
générateurs | |
Intégrés | |
tableaux typés | 45/46 |
Carte | 18/19 |
Ensemble | 18/19 |
FaibleCarte | 11/12 |
Ensemble faible | 10/11 |
Mandataire [25] | 33/34 |
Réfléchir [26] | 18/20 |
Promesse | 4/8 |
Symbole | ✅12/12 |
symboles bien connus[27] | 23/26 |
Extensions intégrées | |
Méthodes statiques d'objet | ✅4/4 |
propriété "nom" de la fonction | 17/10 |
Méthodes statiques de chaîne | ✅2/2 |
Méthodes String.prototype | ✅10/10 |
Propriétés RegExp.prototype | ✅6/6 |
Méthodes statiques de tableau | 8/11 |
Méthodes Array.prototype | ✅10/10 |
Propriétés des nombres | ✅9/9 |
Méthodes mathématiques | ✅17/17 |
Date.prototype[Symbol.toPrimitive] | ✅1/1 |
Sous-classement | |
Le tableau est sous-classable | 11/09 |
RegExp est sous-classable | ✅4/4 |
La fonction est sous-classable | 4/6 |
La promesse est sous-classable | |
divers sous-classables | |
Divers | |
prototype de fonctions liées | 1/5 |
Proxy, appels internes « get » | 19/36 |
Proxy, appels internes « définis » | 7/11 |
Proxy, appels internes 'defineProperty' | |
Proxy, appels internes « deleteProperty » | |
Proxy, appels internes 'getOwnPropertyDescriptor' | 2/4 |
Proxy, appels internes « ownKeys » | ✅3/3 |
Les méthodes statiques d'objet acceptent les primitives | ✅10/10 |
propre ordre de propriété | 5/7 |
Syntaxe d'identifiant mise à jour | 1/3 |
divers | 8/9 |
Annexe B | |
sémantique des fonctions non strictes[35] | 2/3 |
__proto__ dans les littéraux d'objet [36] | |
Objet.prototype.__proto__ | 1/6 |
Méthodes HTML String.prototype | ✅3/3 |
RegExp.prototype.compile | 1/2 |
Extensions de syntaxe RegExp | 4/8 |
Commentaires de style HTML |