ืืฆื ืืืืจ ืฉืืจืืจ ืื ืืข JavaScript ืืืงืืืืค 2.4.0, ืฉืืืจืชื ืืืืขื ืืืกืืก ืืงืื ืฉื ืคืจืืืงืืื ืืฉืคืช C/C++. ืืื ืืข ืงืืืคืงืื ืืืืืื, ื ืืื ืืืื ืืฆืจืืืช ืืฉืืืื ื ืืืื. ืงืื ืืืงืืจ ืฉื ืืื ืืข ืืชืื ื-C ื ืืชืคืฉืืืช ืชืืช ืจืืฉืืื MIT.
ืงืื ื-Duktape ืชืืคืก ื-160 kB ืืฆืืจื ืจืง 70 kB ืฉื ืืืืจืื RAM, ืืืืฆื ืฆืจืืืช ืืืืจืื ื ืืืื 27 kB ืฉื ืืืืจืื RAM. ืืฉืืืื Duktape ืืงืื C/C++ ืืื ืืกืคืืง ืืืกืฃ ืงืืฆืื duktape.c ื- duktape.h ืืคืจืืืงื, ืืืฉืชืืฉ API ืฉื Duktape ืืงืจืื ืืคืื ืงืฆืืืช JavaScript ืืงืื C/C++ ืื ืืืืคื. ืืื ืืฉืืจืจ ืืคืฆืื ืฉืืื ื ืืฉืืืืฉ ืืืืืืจืื, ื ืขืฉื ืฉืืืืฉ ืืืกืคื ืืฉืคื ืขื ืืืืืจ, ืืื ืื ืขื ืืกืืก ืฉืืืื ืึทืืืึนืจึดืืชึฐื ืกืคืืจืช ืงืืฉืืจืื ืขื ืืืืืจืืชื ืกืืืื (Mark and Sweep). ืืื ืืข ืืฉืืฉ ืืขืืืื JavaScript ืืืคืืคื NetSurf.
ืืกืคืง ืชืืืืืช ืืืื ืืืคืจืื Ecmascript 5.1 ืืืืงืืช ืืชืืื Ecmascript 2015 ื-2016 (E6 ื-E7), ืืืื ืชืืืืช ืืืืืืงืื Proxy ืขืืืจ ืืืจืืืืืืืฆืื ืฉื ื ืืกืื, ืืขืจืืื ืืกืื Typed, ArrayBuffer, Node.js Buffer, Encoding API, Symbol Object ืืื'. ืืื ืืืื ืืืชืจ ืืืืื ืืืื ื, ืื ืืข ืืืืื ืจืืืืจื ืืชืช-ืืขืจืืช ืืชืืืื ื-Unicode. ืืจืืืืช ืกืคืฆืืคืืืช ืืกืืคืงืืช ืื, ืืืื ืชืืืื ื-coroutine, ืืกืืจืช ืจืืฉืื ืืืื ืืช, ืื ืื ืื ืืขืื ืช ืืืืื ืืืืกืก CommonJS ืืืขืจืืช ืืืืื ืืชืื ืืืืคืฉืจืช ืืฉืืืจ ืืืืขืื ืคืื ืงืฆืืืช ืืืืืืจ.
ืืืืืืจื ืืืืฉื ืืืืืข ืงืจืืืืช ืืืฉืืช ืื duk_to_stacktrace() ื- duk_safe_to_stacktrace() ืืื ืืงืื ืขืงืืืช ืืืกื ืืช, duk_push_bare_array() ืืื ืืืืกืืฃ ืืืคืขื ืืขืจื ืขืฆืืืืื. ืืคืื ืงืฆืืืช duk_require_constructable() ื-duk_require_constructor_call() ืคืืจืกืื ืืฆืืืืจ. ืชืืืืืช ืืฉืืคืจืช ืืืคืจื ES2017. ืืขืืืื ืขื ืืขืจืืื ืืืืืืืงืืื ืขืืจื ืืืคืืืืืืฆืื. ื ืืกืคื ืืคืฉืจืืช "--no-auto-complete" ืืืืฉืง duk CLI ืืื ืืืฉืืืช ืืฉืืืช ืงืื.
ืืงืืจ: OpenNet.ru