แž€แžถแžšแž…แŸแž‰แž•แŸ’แžŸแžถแž™แž˜แŸ‰แžถแžŸแŸŠแžธแž“ JavaScript แžŠแŸ‚แž›แž”แžถแž“แž”แž„แŸ’แž€แž”แŸ‹ Duktape 2.4.0

แž”แŸ„แŸ‡แž–แžปแž˜แŸ’แž–แž•แŸ’แžŸแžถแž™ แž€แžถแžšแž…แŸแž‰แž•แŸ’แžŸแžถแž™แž˜แŸ‰แžถแžŸแŸŠแžธแž“ JavaScript Duktape 2.4.0แž‚แŸ„แž›แž”แŸ†แžŽแž„แž”แž„แŸ’แž€แž”แŸ‹แž‘แŸ…แž€แŸ’แž“แžปแž„แž˜แžผแž›แžŠแŸ’แž‹แžถแž“แž€แžผแžŠแž“แŸƒแž‚แž˜แŸ’แžšแŸ„แž„แž€แŸ’แž“แžปแž„แž—แžถแžŸแžถ C/C++ แŸ” แž˜แŸ‰แžถแžŸแŸŠแžธแž“แž˜แžถแž“แž‘แŸ†แž แŸ†แžแžผแž… แž…แž›แŸแžแž”แžถแž“แžแŸ’แž–แžŸแŸ‹ แž“แžทแž„แž€แžถแžšแž”แŸ’แžšแžพแž”แŸ’แžšแžถแžŸแŸ‹แž’แž“แž’แžถแž“แž‘แžถแž”แŸ” แž€แžผแžŠแž”แŸ’แžšแž—แž–แž“แŸƒแž˜แŸ‰แžถแžŸแŸŠแžธแž“แžแŸ’แžšแžผแžœแž”แžถแž“แžŸแžšแžŸแŸแžšแž‡แžถ C แž“แžทแž„ แž€แžถแžšโ€‹แž†แŸ’แž›แž„โ€‹แžšแžถแž›แžŠแžถแž› แž€แŸ’แžšแŸ„แž˜แžขแžถแž‡แŸ’แž‰แžถแž”แŸแžŽแŸ’แžŽ MIT แŸ”

แž›แŸแžแž€แžผแžŠ Duktape แž”แŸ’แžšแžพแž”แŸ’แžšแžถแžŸแŸ‹แž”แŸ’แžšแž แŸ‚แž› 160 kB แž แžพแž™แž”แŸ’แžšแžพแž”แŸ’แžšแžถแžŸแŸ‹ RAM แžแŸ’แžšแžนแž˜แžแŸ‚ 70 kB แž แžพแž™แž€แŸ’แž“แžปแž„แžšแž”แŸ€แž”แž”แŸ’แžšแžพแž”แŸ’แžšแžถแžŸแŸ‹แžขแž„แŸ’แž‚แž…แž„แž…แžถแŸ†แž‘แžถแž” 27 kB แž“แŸƒ RAM แŸ” แžŠแžพแž˜แŸ’แž”แžธแž”แž‰แŸ’แž…แžผแž› Duktape แž‘แŸ…แž€แŸ’แž“แžปแž„แž€แžผแžŠ C/C++ แž‚แžบแž‚แŸ’แžšแž”แŸ‹แž‚แŸ’แžšแžถแž“แŸ‹ แž”แž“แŸ’แžแŸ‚แž˜แžฏแž€แžŸแžถแžš duktape.c แž“แžทแž„ duktape.h แž‘แŸ…แž€แŸ’แž“แžปแž„แž‚แž˜แŸ’แžšแŸ„แž„ แž แžพแž™แž”แŸ’แžšแžพแž”แŸ’แžšแžถแžŸแŸ‹ Duktape API แžŠแžพแž˜แŸ’แž”แžธแž แŸ…แž˜แžปแžแž„แžถแžš JavaScript แž–แžธแž€แžผแžŠ C/C++ แžฌแž…แŸ’แžšแžถแžŸแž˜แž€แžœแžทแž‰แŸ” แžŠแžพแž˜แŸ’แž”แžธแžšแŸ†แžŠแŸ„แŸ‡แžœแžแŸ’แžแžปแžŠแŸ‚แž›แž˜แžทแž“แž”แžถแž“แž”แŸ’แžšแžพแž…แŸแž‰แž–แžธแžขแž„แŸ’แž‚แž…แž„แž…แžถแŸ† แžขแŸ’แž“แž€แž”แŸ’แžšแž˜แžผแž›แžŸแŸ†แžšแžถแž˜แžŠแŸ‚แž›แž˜แžถแž“แžงแž”แž€แžšแžŽแŸแž”แŸ†แž”แŸ’แž›แŸ‚แž„แž…แžปแž„แž€แŸ’แžšแŸ„แž™แžแŸ’แžšแžผแžœแž”แžถแž“แž”แŸ’แžšแžพ แžŠแŸ‚แž›แž”แž„แŸ’แž€แžพแžแžกแžพแž„แžŠแŸ„แž™แž•แŸ’แžขแŸ‚แž€แž›แžพแž€แžถแžšแžšแžฝแž˜แž”แž‰แŸ’แž…แžผแž›แž‚แŸ’แž“แžถ แž€แŸ’แž”แžฝแž“แžŠแŸ„แŸ‡แžŸแŸ’แžšแžถแž™ แžแŸ†แžŽแž—แŸ’แž‡แžถแž”แŸ‹แžšแžถแž”แŸ‹แž‡แžถแž˜แžฝแž™แž€แŸ’แž”แžฝแž“แžŠแŸ„แŸ‡แžŸแŸ’แžšแžถแž™แžŸแž˜แŸ’แž‚แžถแž›แŸ‹ (แž˜แŸ‰แžถแž€แžปแžŸแž“แžทแž„แžขแžผแžŸ) แŸ” แž˜แŸ‰แžถแžŸแŸŠแžธแž“แžแŸ’แžšแžผแžœแž”แžถแž“แž”แŸ’แžšแžพแžŠแžพแž˜แŸ’แž”แžธแžŠแŸ†แžŽแžพแžšแž€แžถแžš JavaScript แž“แŸ…แž€แŸ’แž“แžปแž„แž€แž˜แŸ’แž˜แžœแžทแž’แžธแžšแžปแž€แžšแž€ NetSurf.

แž•แŸ’แžแž›แŸ‹แž“แžผแžœแž—แžถแž–แž†แž”แž‚แŸ’แž“แžถแž–แŸแž‰แž›แŸแž‰แž‡แžถแž˜แžฝแž™แž“แžนแž„แž›แž€แŸ’แžแžŽแŸˆแž”แž…แŸ’แž…แŸแž€แž‘แŸแžŸ Ecmascript 5.1 แž“แžทแž„แž•แŸ’แž“แŸ‚แž€ แž€แžถแžšแž‚แžถแŸ†แž‘แŸ’แžš Ecmascript 2015 แž“แžทแž„ 2016 (E6 แž“แžทแž„ E7) แžšแžฝแž˜แž‘แžถแŸ†แž„แž€แžถแžšแž‚แžถแŸ†แž‘แŸ’แžšแžœแžแŸ’แžแžปแž”แŸ’แžšแžผแž€แžŸแŸŠแžธแžŸแž˜แŸ’แžšแžถแž”แŸ‹แž€แžถแžšแž“แžทแž˜แŸ’แž˜แžทแžแž›แž€แŸ’แžแžŽแžŸแž˜แŸ’แž”แžแŸ’แžแžท แžœแžถแž™แž”แž‰แŸ’แž…แžผแž›แžขแžถแžšแŸ ArrayBuffer Node.js Buffer แž€แžถแžšแžขแŸŠแžทแž“แž€แžผแžŠ API แžœแžแŸ’แžแžปแž“แžทแž˜แžทแžแŸ’แžแžŸแž‰แŸ’แž‰แžถแŸ”แž›แŸ” แžœแžถแžšแžฝแž˜แž”แž‰แŸ’แž…แžผแž›แžงแž”แž€แžšแžŽแŸแž”แŸ†แž”แžถแžแŸ‹แž€แŸ†แž แžปแžŸแžŠแŸ‚แž›แž—แŸ’แž‡แžถแž”แŸ‹แž˜แž€แž‡แžถแž˜แžฝแž™ แž˜แŸ‰แžถแžŸแŸŠแžธแž“แž€แž“แŸ’แžŸแŸ„แž˜แž’แž˜แŸ’แž˜แžแžถ แž“แžทแž„แž”แŸ’แžšแž–แŸแž“แŸ’แž’แžšแž„แžŸแž˜แŸ’แžšแžถแž”แŸ‹แž€แžถแžšแž‚แžถแŸ†แž‘แŸ’แžšแž™แžผแž“แžธแž€แžผแžŠแŸ” แž•แŸ’แž“แŸ‚แž€แž”แž“แŸ’แžแŸ‚แž˜แž‡แžถแž€แŸ‹แž›แžถแž€แŸ‹แž€แŸแžแŸ’แžšแžผแžœแž”แžถแž“แž•แŸ’แžแž›แŸ‹แž‡แžผแž“แž•แž„แžŠแŸ‚แžš แžŠแžผแž…แž‡แžถแž€แžถแžšแž‚แžถแŸ†แž‘แŸ’แžš coroutine แž€แŸ’แžšแž”แžแŸแžŽแŸ’แžŒแž€แžถแžšแž…แžผแž›แžŠแŸ‚แž›แž—แŸ’แž‡แžถแž”แŸ‹แž˜แž€แž‡แžถแž˜แžฝแž™ แž™แž“แŸ’แžแž€แžถแžšแž•แŸ’แž‘แžปแž€แž˜แŸ‰แžผแžŒแžปแž›แžŠแŸ‚แž›แž˜แžถแž“แž˜แžผแž›แžŠแŸ’แž‹แžถแž“แž›แžพ CommonJS แž“แžทแž„แž”แŸ’แžšแž–แŸแž“แŸ’แž’แžƒแŸ’แž›แžถแŸ†แž„แžŸแž˜แŸ’แž„แžถแžแŸ‹ bytecode แžŠแŸ‚แž›แžขแž“แžปแž‰แŸ’แž‰แžถแžแžฑแŸ’แž™แžขแŸ’แž“แž€แžšแž€แŸ’แžŸแžถแž‘แžปแž€ แž“แžทแž„แž•แŸ’แž‘แžปแž€แž˜แžปแžแž„แžถแžšแžŠแŸ‚แž›แž”แžถแž“แž…แž„แž€แŸ’แžšแž„แŸ”

แž“แŸ…แž€แŸ’แž“แžปแž„แž€แžถแžšแž…แŸแž‰แž•แŸ’แžŸแžถแž™แžแŸ’แž˜แžธแŸ” แž”แžถแž“แžขแž“แžปแžœแžแŸ’แž แž€แžถแžšแž แŸ…แžแŸ’แž˜แžธแž‘แŸ…แž€แžถแž“แŸ‹ 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

แž”แž“แŸ’แžแŸ‚แž˜แž˜แžแžทแž™แŸ„แž”แž›แŸ‹