ะกะพััะพัะปัั ัะตะปะธะท Node.js 21.0, ะฟะปะฐััะพัะผั ะดะปั ะฒัะฟะพะปะฝะตะฝะธั ัะตัะตะฒัั ะฟัะธะปะพะถะตะฝะธะน ะฝะฐ ัะทัะบะต JavaScript. ะะพะดะดะตัะถะบะฐ ะฒะตัะบะธ Node.js 21.0 ะฑัะดะตั ะพัััะตััะฒะปััััั ะฒ ัะตัะตะฝะธะต 6 ะผะตัััะตะฒ. ะ ะฑะปะธะถะฐะนัะธะต ะดะฝะธ ะฑัะดะตั ะทะฐะฒะตััะตะฝะฐ ััะฐะฑะธะปะธะทะฐัะธั ะฒะตัะบะธ Node.js 20, ะบะพัะพัะฐั ะฟะพะปััะธั ััะฐััั LTS ะธ ะฑัะดะตั ะฟะพะดะดะตัะถะธะฒะฐัััั ะดะพ ะฐะฟัะตะปั 2026 ะณะพะดะฐ. ะกะพะฟัะพะฒะพะถะดะตะฝะธะต ะฟัะพัะปะพะน LTS-ะฒะตัะบะธ Node.js 18.0 ะฟัะพะดะปะธััั ะดะพ ัะตะฝััะฑัั 2025 ะณะพะดะฐ, ะฐ ะฟะพะทะฐะฟัะพัะปะพะน LTS-ะฒะตัะบะธ 16.0 ะดะพ ะฐะฟัะตะปั 2024 ะณะพะดะฐ.
เบเบฒเบเบเบฑเบเบเบธเบเบเบปเปเบเบเป:
- ะะฑััะฒะปะตะฝ ััะฐะฑะธะปัะฝัะผ API Fetch, ะฟัะตะดะฝะฐะทะฝะฐัะตะฝะฝัะน ะดะปั ะทะฐะณััะทะบะธ ัะตััััะพะฒ ะฟะพ ัะตัะธ ะธ ัะฟัะพัะฐััะธะน ะฝะฐะฟะธัะฐะฝะธะต ัะฝะธะฒะตััะฐะปัะฝะพะณะพ JavaScript-ะบะพะดะฐ, ะฟัะธะณะพะดะฝะพะณะพ ะดะปั ัะฐะฑะพัั ะฝะฐ ััะพัะพะฝะต ัะตัะฒะตัะฐ ะธ ะบะปะธะตะฝัะฐ. ะ ะตะฐะปะธะทะฐัะธั ะพัะฝะพะฒะฐะฝะฐ ะฝะฐ ะบะพะดะต ะธะท HTTP/1.1 ะบะปะธะตะฝัะฐ undici ะธ ะผะฐะบัะธะผะฐะปัะฝะพ ะฟัะธะฑะปะธะถะตะฝะฐ ะบ ะฐะฝะฐะปะพะณะธัะฝะพะผั API, ะฟัะตะดะพััะฐะฒะปัะตะผะพะผั ะฒ ะฑัะฐัะทะตัะฐั . API ะฒะบะปััะฐะตั ะฒ ัะตะฑั ะผะตัะพะด fetch() ะธ ะพะฑัะตะบัั Headers. Request ะธ Response, ะฟัะตะดััะฐะฒะปัััะธะต HTTP-ะทะฐะณะพะปะพะฒะบะธ, ะทะฐะฟัะพั ะธ ะพัะฒะตั. const res = await fetch(โhttps://nodejs.org/api/documentation.jsonโ); if (res.ok) { const data = await res.json(); console.log(data); }
- ะกัะฐะฑะธะปะธะทะธัะพะฒะฐะฝะฐ ะฟะพะดะดะตัะถะบะฐ API WebStreams, ะฟัะตะดะพััะฐะฒะปัััะตะณะพ ะดะพัััะฟ ะบ ะฟะพัะพะบะฐะผ ะดะฐะฝะฝัั , ะฟะพะปััะตะฝะฝัะผ ะฟะพ ัะตัะธ. API ะดะฐัั ะฒะพะทะผะพะถะฝะพััั ะดะพะฑะฐะฒะธัั ัะฒะพะธ ะพะฑัะฐะฑะพััะธะบะธ, ัะฐะฑะพัะฐััะธะต ั ะดะฐะฝะฝัะผะธ ะฟะพ ะผะตัะต ะฟะพัััะฟะปะตะฝะธั ะธะฝัะพัะผะฐัะธะธ ะฟะพ ัะตัะธ, ะฝะต ะดะพะถะธะดะฐััั ะทะฐะณััะทะบะธ ะฒัะตะณะพ ัะฐะนะปะฐ. ะ Node.js ะดะพัััะฟะฝั ัะฐะบะธะต ะพะฑัะตะบัั, ะบะฐะบ ReadableStream*, TransformStream*, WritableStream*, TextEncoderStream, TextDecoderStream, CompressionStream ะธ DecompressionStream.
- ะะพะฑะฐะฒะปะตะฝะฐ ัะบัะฟะตัะธะผะตะฝัะฐะปัะฝะฐั ัะตะฐะปะธะทะฐัะธั ะบะปะธะตะฝัะฐ WebSocket, ัะพะฒะผะตััะธะผะฐั ั ะฑัะฐัะทะตัะฐะผะธ. ะะปั ะฒะบะปััะตะฝะธั ะฟะพะดะดะตัะถะบะธ WebSocket ะฟัะตะดััะผะพััะตะฝ ัะปะฐะณ ยซโexperimental-websocketยป.
- ะะพะฑะฐะฒะปะตะฝ ัะบัะฟะตัะธะผะตะฝัะฐะปัะฝัะน ัะตะถะธะผ ะธัะฟะพะปัะทะพะฒะฐะฝะธั ะฟะพ ัะผะพะปัะฐะฝะธั ัะตะฐะปะธะทะฐัะธะธ JavaScript-ะผะพะดัะปะตะน ESM (ECMAScript Modules, ะฟัะธะผะตะฝัะตััั ะฒ ะผะพะดัะปัั ะดะปั ะฑัะฐัะทะตัะพะฒ) ะฒะผะตััะพ CommonJS (ัะฟะตัะธัะธัะตะฝ ะดะปั Node.js). ะะทะผะตะฝะตะฝะธะต ะฝะต ะทะฐััะฐะณะธะฒะฐะตั ะผะพะดัะปะธ, ัะพัะผะฐั ะบะพัะพััั ัะฒะฝะพ ะพะฟัะตะดะตะปัะฝ ัะตัะตะท ะฟะพะปะต ยซtypeยป ะฒ package.json, ะทะฐะดะฐะฝ ัะตัะตะท ัะปะฐะณ ยซโinput-typeยป ะธะปะธ ะพัะตะฒะธะดะตะฝ ะฒ ัะธะปั ัะฐััะธัะตะฝะธั ัะฐะนะปะฐ (.mjs ะดะปั ESM, .cjs ะดะปั CommonJS). ะัะธ ััะพะผ ะผะพะดัะปะธ, ะบะพัะพััะต ัะฒะฝะพ ะฝะต ะพะฟัะตะดะตะปะตะฝั ะบะฐะบ CommonJS (ะฝะฐะฟัะธะผะตั, ะธะผะตัั ัะฐััะธัะตะฝะธะต ยซ.jsยป), ะฟัะธ ะฒะบะปััะตะฝะธะธ ะฝะพะฒะพะณะพ ัะตะถะธะผะฐ ะฑัะดัั ะฒะพัะฟัะธะฝะธะผะฐัััั ะบะฐะบ ะผะพะดัะปะธ ESM. ะะปั ะฐะบัะธะฒะฐัะธะธ ะฝะพะฒัั ะฝะฐัััะพะตะบ ะผะพะดัะปะตะน ะฟัะตะดะปะพะถะตะฝ ัะปะฐะณ ยซโexperimental-default-typeยป.
- ะะฒะธะถะพะบ V8 ะพะฑะฝะพะฒะปัะฝ ะดะพ ะฒะตััะธะธ 11.8, ะฟัะธะผะตะฝัะตะผะพะน ะฒ Chromium 118, ะฒ ะบะพัะพัะพะผ ะฟะพัะฒะธะปะฐัั ะฟะพะดะดะตัะถะบะฐ ะผะตัะพะดะฐ ArrayBuffer.prototype.transfer, ะฒะพะทะผะพะถะฝะพััะธ ะณััะฟะฟะธัะพะฒะบะธ ะผะฐััะธะฒะพะฒ (ะผะตัะพะด groupBy) ะธ WebAssembly-ะธะฝััััะบัะธะน ะพะฑัะฐะฑะพัะบะธ ะบะพะฝััะฐะฝั (i32.add, i32.sub, i32.mul, i64.add, i64.sub ะธ i64.mul).
- ะัะตะบัะฐัะตะฝะฐ ะฟะพะดะดะตัะถะบะฐ ะพะฑัะฐะฑะพััะธะบะฐ globalPreload, ะฒะผะตััะพ ะบะพัะพัะพะณะพ ะดะปั ะฝะฐัััะพะนะบะธ ะผะพะดัะปะตะน ัะปะตะดัะตั ะธัะฟะพะปัะทะพะฒะฐัั ะฒัะทะพะฒั register ะธ initialize.
- ะ ััะฝะบัะธั fs.writeFile ะดะพะฑะฐะฒะปะตะฝะฐ ะพะฟัะธั ยซflushยป ะดะปั ะฟัะธะฝัะดะธัะตะปัะฝะพะณะพ ัะฑัะพัะฐ ะดะฐะฝะฝัั ะฝะฐ ะฝะฐะบะพะฟะธัะตะปั ะฟะพัะปะต ะบะฐะถะดะพะน ะพะฟะตัะฐัะธะธ ะทะฐะฟะธัะธ.
- ะะพะฒััะตะฝะฐ ะฟัะพะธะทะฒะพะดะธัะตะปัะฝะพััั ะบะพะดะฐ, ัะฒัะทะฐะฝะฝะพะณะพ ั ัะฐะทะฑะพัะพะผ URL, API fetch, streams, node:fs ะธ HTTP.
- ะะพะฑะฐะฒะปะตะฝ ะณะปะพะฑะฐะปัะฝัะน ะพะฑัะตะบั navigator. ะะฐะฟัะธะผะตั, ะดะปั ะฟะพะปััะตะฝะธั ะดะฐะฝะฝัั ะพ ัะธัะปะต ัะดะตั CPU ะผะพะถะฝะพ ะธัะฟะพะปัะทะพะฒะฐัั ัะฒะพะนััะฒะพ navigator.hardwareConcurrency.
- ะ ะฟะฐัะฐะผะตััะต ยซโtestยป ะดะพะฑะฐะฒะปะตะฝะฐ ะฟะพะดะดะตัะถะบะฐ glob-ะผะฐัะพะบ ะดะปั ะฒัะฑะพัะฐ ะทะฐะฟััะบะฐะตะผัั ัะตััะพะฒ (ะฝะฐะฟัะธะผะตั, ะผะพะถะฝะพ ัะบะฐะทะฐัั ยซโtest **/*.test.js.ยป).
- ะะฑะฝะพะฒะปะตะฝั ะฒั ะพะดััะธะต ะฒ ะบะพะผะฟะปะตะบั ะฟะฐะบะตัะฝัะน ะผะตะฝะตะดะถะตั npm 10.2.0 ะธ ะฟะฐััะตั llhttp 9.1.2.
- ะัะตะบัะฐัะตะฝะฐ ะฟะพะดะดะตัะถะบะฐ Visual Studio 2019 ะธ ะฒะตััะธะน macOS ััะฐัะตะต 11.0.
เปเบเบฅเบเบเบญเบก Node.js เบชเบฒเบกเบฒเบเบเบทเบเบเปเบฒเปเบเปเบเบฑเบเบชเปเบฒเบฅเบฑเบเบเบฒเบเบเปเบฒเบฅเบธเบเบฎเบฑเบเบชเบฒเปเบเบทเปเบญเบเปเบกเปเบเปเบฒเบเบเบญเบเบเปเบฒเบฎเปเบญเบเบชเบฐเบซเบกเบฑเบเปเบงเบฑเบเปเบฅเบฐเบชเปเบฒเบฅเบฑเบเบเบฒเบเบชเปเบฒเบเปเบเบเบเบฒเบเปเบเบทเบญเบเปเบฒเบเบฅเบนเบเบเปเบฒเปเบฅเบฐเปเบเบทเปเบญเบเปเบกเปเบเปเบฒเบเบเบปเบเบเบฐเบเบด. เปเบเบทเปเบญเบเบฐเบซเบเบฒเบเบเบฒเบเบเปเบฒเบเบฒเบเบเบญเบเบเปเบฒเบฎเปเบญเบเบชเบฐเบซเบกเบฑเบเบชเปเบฒเบฅเบฑเบ Node.js, เบเบฒเบเปเบเบฑเบเบเปเบฒเบเบฐเบซเบเบฒเบเปเบซเบเปเบเบญเบเปเบกเบเบนเบเปเบเปเบเบทเบเบเบฐเบเบฝเบก, เปเบเบเบตเปเบเปเบฒเบเบชเบฒเบกเบฒเบเบเบญเบเบซเบฒเปเบกเบเบนเบเบเบตเปเบกเบตเบเบฒเบเบเบฐเบเบดเบเบฑเบ HTTP, SMTP, XMPP, DNS, FTP, IMAP, เปเบเบทเปเบญเบเปเบกเปเบเปเบฒเบ POP3 เปเบฅเบฐเบฅเบนเบเบเปเบฒ, เปเบกเบเบนเบเบชเปเบฒเบฅเบฑเบเบเบฒเบเปเบเบทเปเบญเบกเปเบเบ. เบเบฑเบเบเบญเบเปเบงเบฑเบเบเปเบฒเบเป, WebSocket เปเบฅเบฐ Ajax handlers , DBMS connectors (MySQL, PostgreSQL, SQLite, MongoDB), templates engines, CSS engines, เบเบฒเบเบเบฐเบเบดเบเบฑเบเบเบญเบ crypto algorithms เปเบฅเบฐเบฅเบฐเบเบปเบเบเบฒเบเบญเบฐเบเบธเบเบฒเบ (OAuth), XML parsers.
เปเบเบทเปเบญเบฎเบฑเบเบเบฐเบเบฑเบเบเบฒเบเบเบฐเบกเบงเบเบเบปเบเบเปเบฒเบฎเปเบญเบเบเปเบเบฐเบซเบเบฒเบเบเปเบฒเบเบงเบเบซเบฅเบฒเบ, Node.js เปเบเปเบฎเบนเบเปเบเบเบเบฒเบเบเบฐเบเบดเบเบฑเบเบฅเบฐเบซเบฑเบ asynchronous เปเบเบเบญเบตเบเปเบชเปเบเบฒเบเบเบฑเบเบเบฒเบเปเบซเบเบเบฒเบเบเบตเปเบเปเปเบเบทเบเบเบฅเบฑเบญเบเปเบฅเบฐเบเปเบฒเบเบดเบเบฒเบกเบเบญเบเบเบปเบงเบเบฑเบเบเบฒเบเบเบฒเบเปเบเบเบทเบ. เบงเบดเบเบตเบเบฒเบเบเบตเปเบฎเบญเบเบฎเบฑเบเบชเปเบฒเบฅเบฑเบเบเบฒเบเปเบเบทเปเบญเบกเบเปเป multiplexing เปเบกเปเบ epoll, kqueue, /dev/poll, เปเบฅเบฐเปเบฅเบทเบญเบ. เบชเปเบฒเบฅเบฑเบเบเบฒเบ multiplexing เบเบฒเบเปเบเบทเปเบญเบกเบเปเป, เบซเปเบชเบฐเบซเบกเบธเบ libuv เบเบทเบเบเปเบฒเปเบเป, เปเบเบดเปเบเปเบเบฑเบ add-on เบชเปเบฒเบฅเบฑเบ libev เปเบเบฅเบฐเบเบปเบ Unix เปเบฅเบฐ IOCP เปเบ Windows. เบซเปเบญเบเบชเบฐเบซเบกเบธเบ libeio เบเบทเบเบเปเบฒเปเบเปเปเบเบทเปเบญเบชเปเบฒเบเบชเบฐเบเบธเบเปเบเบตเบเบฐเบเบนเป, เปเบฅเบฐ c-ares เปเบเปเบเบทเบเบเบฐเบชเบปเบกเบเบฐเบชเบฒเบเปเบเบทเปเบญเบเบฐเบเบดเบเบฑเบเบเบฒเบเบชเบญเบเบเบฒเบก DNS เปเบเบฎเบนเบเปเบเบเบเบตเปเบเปเปเบเบดเบเบเบฑเปเบ. เบเบฒเบเปเบเบฅเบฐเบเบปเบเบเบฑเบเบซเบกเบปเบเบเบตเปเปเบฎเบฑเบเปเบซเปเปเบเบตเบเบเบฒเบเบเบฑเบเบเบงเบฒเบเปเบกเปเบเบเบทเบเบเบฐเบเบดเบเบฑเบเบเบฒเบเปเบเบชเบฐเบเบธเบเปเบเบตเบเบญเบ thread เปเบฅเบฐเบซเบผเบฑเบเบเบฒเบเบเบฑเปเบ, เปเบเบฑเปเบเบเบปเบงเบเบฑเบเบชเบฑเบเบเบฒเบ, เปเบญเบเบเบปเบเปเบเปเบฎเบฑเบเบเบญเบเบเบฒเบเปเบฎเบฑเบเบงเบฝเบเบเบญเบเบเบงเบเปเบเบปเบฒเบเบทเบเบเปเบฒเบเบเปเปเบเบตเปเบเปเปเบกเบตเบเบทเป (เบเปเป). เบเบฒเบเบเบฐเบเบดเบเบฑเบเบฅเบฐเบซเบฑเบ JavaScript เปเบกเปเบเบชเบฐเบซเบเบญเบเปเบซเปเปเบเบเบเปเบฒเบเบเบฒเบเบเปเบฒเปเบเปเปเบเบทเปเบญเบเบเบฑเบ V8 เบเบตเปเบเบฑเบเบเบฐเบเบฒเปเบเบ Google (เบเบญเบเบเบฒเบเบเบฑเปเบ, Microsoft เบเปเบฒเบฅเบฑเบเบเบฑเบเบเบฐเบเบฒเบชเบฐเบเบฑเบเบเบญเบ Node.js เบเบฑเบเปเบเบทเปเบญเบเบเบฑเบ Chakra-Core).
เบขเบนเปเปเบเบซเบผเบฑเบเบเบญเบเบกเบฑเบ, Node.js เปเบกเปเบเบเปเบฒเบเบเบทเบเบฑเบเบเบฑเบ Perl AnyEvent, Ruby Event Machine, Python Twisted frameworks, เปเบฅเบฐเบเบฒเบเบเบฑเบเบเบฑเปเบเบเบฐเบเบดเบเบฑเบเปเบซเบเบเบฒเบ Tcl, เปเบเป loop เปเบซเบเบเบฒเบเปเบ Node.js เบเบทเบเปเบเบทเปเบญเบเปเบงเปเบเบฒเบเบเบนเปเบเบฑเบเบเบฐเบเบฒเปเบฅเบฐเบเปเบฒเบเบเบทเบเบฑเบเบเบฒเบเบเบฑเบเบเบฒเบเปเบซเบเบเบฒเบเปเบเปเบญเบฑเบเบเบฅเบดเปเบเบเบฑเบเปเบงเบฑเบเบเบตเปเปเบฎเบฑเบเบงเบฝเบ. เปเบ browser. เปเบกเบทเปเบญเบเบฝเบเบเปเบฒเบฎเปเบญเบเบชเบฐเบซเบกเบฑเบเบชเปเบฒเบฅเบฑเบ node.js, เบเปเบฒเบเบเปเบฒเปเบเบฑเบเบเปเบญเบเบเบดเบเบฒเบฅเบฐเบเบฒเบชเบฐเปเบเบฒเบฐเบเบญเบเบเบฒเบเบเบฝเบเปเบเบผเปเบเบผเบกเบเบตเปเบเบฑเบเปเบเบทเปเบญเบเปเบเบเปเบซเบเบเบฒเบ, เบเบปเบงเบขเปเบฒเบ, เปเบเบเบเบตเปเบเบฐเปเบฎเบฑเบ "var result = db.query("select..");" เบเบฑเบเบเบฒเบเบฅเปเบเปเบฒเบเบฒเบเบชเปเบฒเปเบฅเบฑเบเบเบญเบเบเบฒเบเปเบฎเบฑเบเบงเบฝเบเปเบฅเบฐเบเบฒเบเบเบธเบเปเบเปเบเบเบปเบเปเบเปเบฎเบฑเบเบเปเปเบกเบฒ, Node.js เปเบเปเบซเบผเบฑเบเบเบฒเบเบเบญเบเบเบฒเบเบเบฐเบเบดเบเบฑเบ asynchronous, i.e. เบฅเบฐเบซเบฑเบเบเบทเบเบเปเบฝเบเปเบเบฑเบ "db.query("select..", function (result) {result processing});", เปเบเบดเปเบเบเบฒเบเบเบงเบเบเบธเบกเบเบฐเบชเบปเปเบเบเปเบฒเบเบฅเบฐเบซเบฑเบเบเปเปเปเบเบเบฑเบเบเบต, เปเบฅเบฐเบเบปเบเบเบฒเบเบชเบญเบเบเบฒเบกเบเบฐเบเบทเบเบเบฐเบกเบงเบเบเบปเบเปเบกเบทเปเบญเบเปเปเบกเบนเบเบกเบฒเบฎเบญเบ.
เปเบซเบผเปเบเบเปเปเบกเบนเบ: opennet.ru