ืืืคืฆื ืฉื Node.js 20.0, ืคืืืคืืจืื ืืืคืขืืช ืืืฉืืื ืจืฉืช ื-JavaScript, ืืชืจืืฉื. Node.js 20.0 ืืืงืฆื ืืขื ืฃ ืืชืืืื ืืืจืื, ืื ืกืืืืก ืื ืื ืืืงืฆื ืขื ืืืงืืืืจ, ืืืืจ ืืชืืืฆืืืช. Node.js 20.x ืืืื ื ืชืื ืขื 30 ืืืคืจืื, 2026. ืชืืืืงื ืฉื ืกื ืืฃ Node.js 18.x LTS ืืงืืื ืชืืืฉื ืขื ืืคืจืื 2025, ืืกื ืืฃ 16.x LTS ืืงืืื ืขื ืกืคืืืืจ 2023. ืกื ืืฃ 14.x LTS ืืืฉืืจ ื-30 ืืืคืจืื, ืืกื ืืฃ ืืืื ืืื Node.js 19.x ื-1 ืืืื ื.
ืฉืืคืืจืื ืขืืงืจืืื:
- ืื ืืข ื-V8 ืขืืืื ืืืจืกื 11.3, ืืืฉืืฉืช ื-Chromium 113. ืืืื ืืฉืื ืืืื ืืืฉืืืื ืืขื ืฃ Node.js 19, ืฉืืฉืชืืฉ ืืื ืืข Chromium 107, ืืคืื ืงืฆืืืช String.prototype.isWellFormed ื-toWellFormed, Array.prototype ืืฉืืืืช TypedArray.prototype ืืขืืืื ืขื ืืขืชืงื ืขื ืฉืื ืื ืืืืืืงืื Array ื-TypedArray, ืืื "v" ื-RegExp, ืชืืืื ืืฉืื ืื ืืืื ArrayBuffer ืืืืืืช ืืืืื ืฉื SharedArrayBuffer, tail-call ื-WebAssembly.
- ืืืฆืข ืื ืื ืื ื ืืกืืื ื ืฉื Permission Model ืืืืคืฉืจ ืื ืืืืืื ืืืฉื ืืืฉืืืื ืืกืืืืื ืืืืื ืืืืฆืืข. ืชืืืื ืืืืื ืืืจืฉืื ืืืคืขืืช ืขื ืืื ืฆืืื ืืืื "--experimental-permission" ืืขืช ืืคืขืื. ืืืืฉืื ืืจืืฉืื ื, ืืืฆืขื ืืคืฉืจืืืืช ืืืืืื ืืืฉืช ืืชืืื (--allow-fs-write) ืืงืจืืื (--allow-fs-read) ืืืืงืื ืืกืืืืื ืฉื ื-FS, ืชืืืืื ืฆืืฆื (--allow-child-process) , ืชืืกืคืืช (--no-addons ) ื-threads (--allow-worker). ืืืืืื, ืืื ืืืคืฉืจ ืืชืืื ืืกืคืจืืืช /tmp ืืงืจืืืช ืืงืืืฅ /home/index.js, ืืชื ืืืื ืืฆืืื: node --experimental-permission --allow-fs-write=/tmp/ --allow-fs-read =/home/index.js index .js
ืืื ืืืืืง ืืืฉื, ืืืืืฅ ืืืฉืชืืฉ ืืฉืืื process.permission.has(), ืืืฉื, "process.permission.has('fs.write',"/tmp/test").
- ืืืคืืื ืขืืืจ ืืืืืืื ืืืฆืื ืืื ืฉื ECMAScript (ESMs) ืื ืืขื ืื ืืืืฆืขืืช ืืคืฉืจืืช "--experimental-loader" ืืืคืขืืื ืืขืช ืืฉืจืฉืืจ ื ืคืจื, ืืืืื ืืืฉืจืฉืืจ ืืจืืฉื, ืื ืฉืืืื ืืช ืืืฆืืืืืช ืฉื ืงืื ืืืฉืื ืืืืืื ESM ืืขืื ืื. ืืืืื ืืืคืืคื ืื, ืืฉืืื import.meta.resolve() ืืืคืขืืช ืืขืช ืืืืคื ืกืื ืืจืื ื ืืืฉืจ ืงืืจืืื ืืชืื ืืืฉืื. ืืืื ืืืขื ืคืื ืืืืื ืฉื Node.js, ืชืืืื ืืืขืื ืช ESM ืืชืืื ื ืช ืืขืืืจ ืืงืืืืจืื ืฉื ืชืืื ืืช ืืฆืืืืช.
- ืืืืืื node:test (test_runner), ืฉื ืืขื ืืืฆืืจ ืืืืจืืฅ ืืืืงืืช JavaScript ืืืืืืจืืช ืชืืฆืืืช ืืคืืจืื TAP (Test Anything Protocol), ืืืขืืจ ืืืฆืื.
- ืืืงื ืฆืืืช ืืืฆืืขืื ื ืคืจื, ืืฉืจ ืืืื ื ืืกื ืืฃ ืืืืฉ, ืคืขื ืืืืฆืช ืจืืืื ืืื ืจืืฆื ืฉืื ืื, ืืืื ื ืืชืื URL, fetch() ื-EventTarget. ืืืืืื, ืืชืงืืจื ืฉื ืืชืืื ื-EventTarget ืฆืืืฆืื ืืืฆื, ืืืืฆืืขืื ืฉื ืฉืืืช URL.canParse() ืฉืืคืจื ืืฉืืขืืชืืช ืืืขืืืืช ืืืืืืจืื ืฉืืคืจื. ืื ืืกืฃ, ืืฉืืจืืจ ืฉื ืื ืชื URL ืืขื ืืืฆืืขืื ืืืืืื - Ada 2.0, ืฉื ืืชื ื-C++, ืืืืื ืืืจืื.
- ืืคืืชืื ืฉื ืชืืื ื ื ืืกืืื ืืช ืืืกืคืงืช ืืืฉืืืื ืืฆืืจื ืฉื ืงืืืฅ ืืคืขืื ืืืื (SEA, Single Executable Applications) ื ืืฉื. ืืฆืืจืช ืงืืืฅ ืืคืขืื ืืืืืืช ืืขืช ืืืืคืช ืืชื ืฉื ืืฆืจ ืืงืืืฅ ืชืฆืืจื ืฉื JSON (ืืืงืื ืืืืืืฃ ืงืืืฅ JavaScript).
- ืชืืืืืช ืืฉืืคืจืช ืฉื Web Crypto API ืขื ืืืฉืืืื ืืคืจืืืงืืื ืืืจืื.
- ื ืืกืคื ืชืืืื ืจืฉืืืช ืขืืืจ Windows ืืืขืจืืืช ARM64.
- ืืืฉื ืชืืืื ืืืจืืืืช WASI (WebAssembly System Interface) ืืืฆืืจืช ืืืฉืืื WebAssembly ืขืฆืืืืื. ืืืกืจ ืืช ืืฆืืจื ืืฆืืื ืืื ืฉืืจืช ืคืงืืื ืืืืื ืืื ืืืคืฉืจ ืชืืืื ื-WASI.
ื ืืชื ืืืฉืชืืฉ ืืคืืืคืืจืืช Node.js ืื ืืชืืืืงืช ืฉืจืชืื ืฉื ืืืฉืืื ืืื ืืจื ื ืืื ืืืฆืืจืช ืชืืื ืืืช ืจืฉืช ืจืืืืืช ืฉื ืืงืื ืืฉืจืช. ืืื ืืืจืืื ืืช ืืคืื ืงืฆืืื ืืืืช ืฉื ืืคืืืงืฆืืืช ืขืืืจ Node.js, ืืืื ืืืกืฃ ืืืื ืฉื ืืืืืืื, ืืื ื ืืชื ืืืฆืื ืืืืืืื ืขื ืืืฉืื ืฉื HTTP, SMTP, XMPP, DNS, FTP, IMAP, POP3 ืฉืจืชื ืืืงืืืืช, ืืืืืืื ืืืื ืืืจืฆืื ืขื ืืกืืจืืช ืืื ืืจื ื ืฉืื ืืช, ืืืคืื WebSocket ื-Ajax, ืืืืจื DBMS (MySQL, PostgreSQL, SQLite, MongoDB), ืื ืืขื ืชืื ืืืช, ืื ืืขื CSS, ืืืืขืืช ืฉื ืืืืืจืืชืื ืงืจืืคืื ืืืขืจืืืช ืืจืฉืื (OAuth), ืื ืชืื XML.
ืืื ืืืืืื ืขืืืื ืฉื ืืกืคืจ ืจื ืฉื ืืงืฉืืช ืืงืืืืืช, Node.js ืืฉืชืืฉ ืืืืื ืืืฆืืข ืงืื ืืกืื ืืจืื ื ืืืืืกืก ืขื ืืืคืื ืืืืจืืขืื ืื ืืืกืืื ืืืืืจื ืฉื ืืืคืืื ืืืชืงืฉืจืืช ืืืืจืช. ืฉืืืืช ื ืชืืืืช ืืจืืืื ืืืืืจืื ืื epoll, kqueue, /dev/poll ื- select. ืขืืืจ ืจืืืื ืืืืืจืื, ื ืขืฉื ืฉืืืืฉ ืืกืคืจืืืช libuv, ืฉืืื ืชืืกืฃ ืขืืืจ libev ืืืขืจืืืช Unix ื-IOCP ื-Windows. ืกืคืจืืืช libeio ืืฉืืฉืช ืืืฆืืจืช ืืืืจ ืฉืจืฉืืจืื, ื-c-ares ืืฉืืืืช ืืืืฆืืข ืฉืืืืชืืช DNS ืืืฆื ืื ืืืกื. ืื ืงืจืืืืช ืืืขืจืืช ืฉืืืจืืืช ืืืกืืื ืืืืฆืขืืช ืืชืื ืืืืจ ืืืืืื ืืืืืจ ืืื, ืืื ืืืคืื ืืืชืืช, ืืขืืืจืื ืืช ืชืืฆืืช ืืขืืืื ืฉืืื ืืืืจื ืืจื ืฆืื ืืจ ืืื ืฉื (ืฆืื ืืจ). ืืืฆืืข ืงืื JavaScript ืืกืืคืง ืืืืฆืขืืช ืื ืืข V8 ืฉืคืืชื ืขื ืืื ืืืื (ืื ืืกืฃ, ืืืงืจืืกืืคื ืืคืชืืช ืืจืกื ืฉื Node.js ืขื ืื ืืข Chakra-Core).
ืืืกืืกื, Node.js ืืืื ื-Perl AnyEvent, Ruby Event Machine, Python Twisted ืืืืืขืช ืืืจืืขื Tcl, ืื ืืืืืช ืืืืจืืขืื ื-Node.js ืืืกืชืจืช ืืืืคืชื ืืืืื ืืืืคืื ืืืืจืืขืื ืืืคืืืงืฆืืืช ืืื ืืจื ื ืืคืืขืืช ืืืคืืคื. ืืขืช ืืชืืืช ืืืฉืืืื ืขืืืจ node.js, ืขืืื ืืงืืช ืืืฉืืื ืืช ืืคืจืืื ืืกืคืฆืืคืืื ืฉื ืชืื ืืช ืืื ืื ืืืจืืขืื, ืืืฉื, ืืืงืื ืืขืฉืืช "var result = db.query("select..");" ืขื ืืืชื ื ืืกืืื ืืขืืืื ืืขืืืื ืืชืืฆืืืช ืฉืืืืจ ืืื, Node.js ืืฉืชืืฉ ืืขืงืจืื ืฉื ืืืฆืืข ืืกืื ืืจืื ื, ืืืืืจ. ืืงืื ืืืคื ื-"db.query("select..", function (result) {result processing});", ืฉืื ืืฉืืืื ืชืขืืืจ ืืืืืืช ืืงืื ื ืืกืฃ, ืืชืืฆืืช ืืฉืืืืชื ืชืขืืื ืขื ืืืขืช ืื ืชืื ืื.
ืืงืืจ: OpenNet.ru