เบเบฒเบ™เบ›เปˆเบญเบเป€เบ„เบทเปˆเบญเบ‡เบˆเบฑเบ JavaScript เบ—เบตเปˆเบเบฑเบ‡เป„เบงเป‰ Duktape 2.4.0

เบˆเบฑเบ”เบžเบตเบกเบกเบฒ เบเบฒเบ™เบ›เปˆเบญเบเป€เบ„เบทเปˆเบญเบ‡เบˆเบฑเบ JavaScript Duktape 2.4.0, เปเบ™เปƒเบชเปˆเบเบฒเบ™เบเบฑเบ‡เป€เบ‚เบปเป‰เบฒเป„เบ›เปƒเบ™เบ–เบฒเบ™เบฅเบฐเบซเบฑเบ”เบ‚เบญเบ‡เป‚เบ„เบ‡เบเบฒเบ™เปƒเบ™เบžเบฒเบชเบฒ C/C++. เป€เบ„เบทเปˆเบญเบ‡เบˆเบฑเบเบกเบตเบ‚เบฐเบซเบ™เบฒเบ”เบเบฐเบ—เบฑเบ”เบฅเบฑเบ”, เป€เบ„เบทเปˆเบญเบ™เบ—เบตเปˆเบชเบนเบ‡เปเบฅเบฐเบเบฒเบ™เบšเปเบฅเบดเป‚เบžเบเบŠเบฑเบšเบžเบฐเบเบฒเบเบญเบ™เบ•เปˆเปเบฒ. เบฅเบฐเบซเบฑเบ”เปเบซเบผเปˆเบ‡เบ‚เบญเบ‡เป€เบ„เบทเปˆเบญเบ‡เบˆเบฑเบเปเบกเปˆเบ™เบ‚เบฝเบ™เปƒเบ™ C เปเบฅเบฐ เปเบœเปˆโ€‹เบเบฐโ€‹เบˆเบฒเบโ€‹เป€เบŠเบทเป‰เบญ เบžเบฒเบเปƒเบ•เป‰เปƒเบšเบญเบฐเบ™เบธเบเบฒเบ” MIT.

เบฅเบฐเบซเบฑเบ” Duktape เปƒเบŠเป‰เป€เบงเบฅเบฒเบ›เบฐเบกเบฒเบ™ 160 kB เปเบฅเบฐเบเบดเบ™เบžเบฝเบ‡เปเบ•เปˆ 70 kB เบ‚เบญเบ‡ RAM, เปเบฅเบฐเปƒเบ™เป‚เบซเบกเบ”เบเบฒเบ™เบšเปเบฅเบดเป‚เบžเบเบซเบ™เปˆเบงเบเบ„เบงเบฒเบกเบˆเปเบฒเบ•เปˆเปเบฒ 27 kB เบ‚เบญเบ‡ RAM. เป€เบžเบทเปˆเบญเบ›เบฐเบชเบปเบกเบ›เบฐเบชเบฒเบ™ Duktape เป€เบ‚เบปเป‰เบฒเป„เบ›เปƒเบ™เบฅเบฐเบซเบฑเบ” C/C++ เปเบกเปˆเบ™เบžเบฝเบ‡เบžเป เป€เบžเบตเปˆเบกเป„เบŸเบฅเปŒ duktape.c เปเบฅเบฐ duktape.h เป€เบ‚เบปเป‰เบฒเปƒเบ™เป‚เบ„เบ‡เบเบฒเบ™, เปเบฅเบฐเบ™เปเบฒเปƒเบŠเป‰ Duktape API เป€เบžเบทเปˆเบญเป€เบญเบตเป‰เบ™เบŸเบฑเบ‡เบŠเบฑเบ™ JavaScript เบˆเบฒเบเบฅเบฐเบซเบฑเบ” C/C++ เบซเบผเบทเปƒเบ™เบ—เบฒเบ‡เบเบฑเบšเบเบฑเบ™. เป€เบžเบทเปˆเบญเบ›เบปเบ”เบ›เปˆเบญเบเบงเบฑเบ”เบ–เบธเบ—เบตเปˆเบšเปเปˆเป„เบ”เป‰เปƒเบŠเป‰เบญเบญเบเบˆเบฒเบเบ„เบงเบฒเบกเบŠเบปเบ‡เบˆเปเบฒ, เป€เบ„เบทเปˆเบญเบ‡เป€เบเบฑเบšเบ‚เบตเป‰เป€เบซเบเบทเป‰เบญเบ—เบตเปˆเบกเบตเป€เบ„เบทเปˆเบญเบ‡เป€เบฎเบฑเบ”เบชเบธเบ”เบ—เป‰เบฒเบเปเบกเปˆเบ™เบ–เบทเบเบ™เปเบฒเปƒเบŠเป‰, เบชเป‰เบฒเบ‡เบ‚เบถเป‰เบ™เบšเบปเบ™เบžเบทเป‰เบ™เบ–เบฒเบ™เบ‚เบญเบ‡เบเบฒเบ™เบ›เบฐเบชเบปเบกเบ›เบฐเบชเบฒเบ™. เบชเบนเบ”เบเบฒเบ™เบ„เบดเบ”เป„เบฅเปˆ เบเบฒเบ™โ€‹เบ™เบฑเบšโ€‹เบเบฒเบ™โ€‹เป€เบŠเบทเปˆเบญเบกโ€‹เบ•เปเปˆโ€‹เบเบฑเบšโ€‹เบงเบดโ€‹เบ—เบตโ€‹เบเบฒเบ™โ€‹เป€เบ„เบทเปˆเบญเบ‡โ€‹เบซเบกเบฒเบ (Mark เปเบฅเบฐ Sweepโ€‹)โ€‹. เป€เบ„เบทเปˆเบญเบ‡เบˆเบฑเบเบ–เบทเบเบ™เปเบฒเปƒเบŠเป‰เป€เบžเบทเปˆเบญเบ›เบฐเบกเบงเบ™เบœเบปเบ™ JavaScript เปƒเบ™เบ•เบปเบงเบ—เปˆเบญเบ‡เป€เบงเบฑเบš NetSurf.

เบชเบฐเบซเบ™เบญเบ‡เบ„เบงเบฒเบกเป€เบ‚เบปเป‰เบฒเบเบฑเบ™เป„เบ”เป‰เบขเปˆเบฒเบ‡เป€เบ•เบฑเบกเบ—เบตเปˆเบเบฑเบš Ecmascript 5.1 เบชเบฐเป€เบžเบฒเบฐเปเบฅเบฐเบšเบฒเบ‡เบชเปˆเบงเบ™ เบชเบฐเบซเบ™เบฑเบšเบชเบฐเบซเบ™เบนเบ™ Ecmascript 2015 เปเบฅเบฐ 2016 (E6 เปเบฅเบฐ E7), เบฅเบงเบกเบ—เบฑเบ‡เบเบฒเบ™เบฎเบญเบ‡เบฎเบฑเบš Proxy object เบชเปเบฒเบฅเบฑเบšเบ„เบธเบ™เบชเบปเบกเบšเบฑเบ” virtualization, Typed Arrays, ArrayBuffer, Node.js Buffer, Encoding API, Symbol object, เปเบฅเบฐเบญเบทเปˆเบ™เป†. เบกเบฑเบ™เบ›เบฐเบเบญเบšเบกเบตเบ•เบปเบงเบ”เบตเบšเบฑเบเบ—เบตเปˆเบชเป‰เบฒเบ‡เบ‚เบถเป‰เบ™เปƒเบ™เบ•เบปเบง, เป€เบ„เบทเปˆเบญเบ‡เบˆเบฑเบเบชเบฐเปเบ”เบ‡เบญเบญเบเบ›เบปเบเบเบฐเบ•เบด, เปเบฅเบฐเบฅเบฐเบšเบปเบšเบเปˆเบญเบเบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบชเบฐเบซเบ™เบฑเบšเบชเบฐเบซเบ™เบนเบ™ Unicode. เบเบฒเบ™เบ‚เบฐเบซเบเบฒเบเบชเบฐเป€เบžเบฒเบฐเปเบกเปˆเบ™เบเบฑเบ‡เบชเบฐเบซเบ™เบญเบ‡เปƒเบซเป‰, เป€เบŠเบฑเปˆเบ™: เบเบฒเบ™เบชเบฐเบซเบ™เบฑเบšเบชเบฐเบซเบ™เบนเบ™ coroutine, เบเบญเบšเบเบฒเบ™เป€เบ‚เบปเป‰เบฒเบชเบนเปˆเบฅเบฐเบšเบปเบšเปƒเบ™เบ•เบปเบง, เบเบปเบ™เป„เบเบเบฒเบ™เป‚เบซเบผเบ”เป‚เบกเบ”เบนเบ™เบ—เบตเปˆเบญเบตเบ‡เปƒเบชเปˆ CommonJS, เปเบฅเบฐเบฅเบฐเบšเบปเบšเบ–เบฒเบ™เบ„เบงเบฒเบกเบˆเปเบฒ bytecode เบ—เบตเปˆเบŠเปˆเบงเบเปƒเบซเป‰เบ—เปˆเบฒเบ™เบชเบฒเบกเบฒเบ”เบšเบฑเบ™เบ—เบถเบเปเบฅเบฐเป‚เบซเบผเบ”เบซเบ™เป‰เบฒเบ—เบตเปˆเบฅเบงเบšเบฅเบงเบก.

เปƒเบ™เบฅเบธเป‰เบ™เปƒเปˆ เบ›เบฐเบ•เบดเบšเบฑเบ” เบเบฒเบ™เป‚เบ—เปƒเปเปˆเป„เบ›เบซเบฒ duk_to_stacktrace() เปเบฅเบฐ duk_safe_to_stacktrace() เป€เบžเบทเปˆเบญเปƒเบซเป‰เป„เบ”เป‰เบฎเบฑเบš stack traces, duk_push_bare_array() เป€เบžเบทเปˆเบญเป€เบžเบตเปˆเบก instance array เป€เบญเบเบฐเบฅเบฒเบ”. เบŸเบฑเบ‡เบŠเบฑเบ™ duk_require_constructable() เปเบฅเบฐ duk_require_constructor_call() เป„เบ”เป‰เบ–เบทเบเป€เบ›เบตเบ”เป€เบœเบตเบเบ•เปเปˆเบชเบฒเบ—เบฒเบฅเบฐเบ™เบฐ. เบ›เบฑเบšเบ›เบธเบ‡เบ„เบงเบฒเบกเป€เบ‚เบปเป‰เบฒเบเบฑเบ™เป„เบ”เป‰เบเบฑเบšเบ‚เปเป‰เบเปเบฒเบซเบ™เบปเบ” ES2017. เบเบฒเบ™เป€เบฎเบฑเบ”เบงเบฝเบเบเบฑเบš arrays เปเบฅเบฐเบงเบฑเบ”เบ–เบธเป„เบ”เป‰เบ–เบทเบเบ›เบฑเบšเบ›เบธเบ‡เปƒเบซเป‰เป€เบซเบกเบฒเบฐเบชเบปเบก. เป€เบžเบตเปˆเบกเบ•เบปเบงเป€เบฅเบทเบญเบ โ€œ--no-auto-completeโ€ เปƒเบชเปˆเบชเปˆเบงเบ™เบ•เบดเบ”เบ•เปเปˆ duk CLI เป€เบžเบทเปˆเบญเบ›เบดเบ”เบเบฒเบ™เบ›เป‰เบญเบ™เบ‚เปเป‰เบกเบนเบ™เปƒเบซเป‰เบชเบณเป€เบฅเบฑเบ”.

เปเบซเบผเปˆเบ‡เบ‚เปเป‰เบกเบนเบ™: opennet.ru

เป€เบžเบตเปˆเบกเบ„เบงเบฒเบกเบ„เบดเบ”เป€เบซเบฑเบ™