Veröffentlichung der JavaScript-Engine , die fĂŒr die Einbettung in den Code von C/C++-Projekten konzipiert ist. Die Engine zeichnet sich durch ihre kompakte GröĂe, hohe PortabilitĂ€t und niedrigen Ressourcenverbrauch aus. Die Quelltexte der Engine sind in C verfasst und unter der MIT-Lizenz.
Der Code von Duktape benötigt etwa 160 kB und verbraucht lediglich 70 kB RAM, im Modus fĂŒr geringen Speicherverbrauch sogar nur 27 kB RAM. Um Duktape in C/C++-Code zu integrieren, mĂŒssen die Dateien duktape.c und duktape.h zum Projekt hinzugefĂŒgt und verwendet werden, um Funktionen in JavaScript aus C/C++-Code oder umgekehrt aufzurufen. Zum Freigeben nicht verwendeter Objekte aus dem Speicher kommt ein Garbage Collector mit Finalisierer zum Einsatz, der auf einer Kombination basiert ReferenzzĂ€hlung und Mark-and-Sweep-Algorithmen. Die Engine wird zur Verarbeitung von JavaScript im Browser .
verwendet und gewĂ€hrleistet vollstĂ€ndige KompatibilitĂ€t mit den Spezifikationen von Ecmascript 5.1 sowie partielle Ecmascript 2015 und 2016 (E6 und E7), einschlieĂlich UnterstĂŒtzung des Proxy-Objekts fĂŒr die Virtualisierung von Eigenschaften, typisierter Arrays, ArrayBuffer, Node.js Buffer, Encoding API, Symbol-Objekt usw. Das Paket enthĂ€lt einen integrierten Debugger, einen AusfĂŒhrungsmechanismus fĂŒr regulĂ€re AusdrĂŒcke und ein System zur UnterstĂŒtzung von Unicode. Zudem werden spezifische Erweiterungen bereitgestellt, wie die UnterstĂŒtzung von Koroutinen, ein integriertes Framework fĂŒr Protokollierung, ein Modullade-Mechanismus basierend auf CommonJS, sowie eine Bytecode-Caching-Technologie, die das Speichern und Laden compilierter Funktionen ermöglicht.
In der neuen Version Neue Funktionen duk_to_stacktrace() und duk_safe_to_stacktrace() zur erhalten von Stack-Traces, duk_push_bare_array() zum HinzufĂŒgen unabhĂ€ngiger Array-Instanzen. Die Funktionen duk_require_constructable() und duk_require_constructor_call() wurden öffentlich zugĂ€nglich gemacht. Die KompatibilitĂ€t mit der ES2017-Spezifikation wurde verbessert. Die Arbeit mit Arrays und Objekten wurde optimiert. Im CLI-Interface von duk wurde die Option ââno-auto-completeâ zum Deaktivieren der automatischen Eingabe ergĂ€nzt.
Quelle: opennet.ru
