Node.js 18.0 ืืื ืืืคืจืืื, ืึท ืคึผืืึทืืคืึธืจืืข ืคึฟืึทืจ ืคืืืกื ืืืง ื ืขืฅ ืึทืคึผืืึทืงืืืฉืึทื ื ืืื ืืืฉืึทืืืึทืกืงืจืืคึผื. Node.js 18.0 ืืื ืงืืึทืกืึทืคืืื ืืื ืึท ืืึทื ื-ืืขืจืืื ืฉืืืฆื ืฆืืืืึทื, ืึธืืขืจ ืืขื ืกืืึทืืืก ืืืขื ืืืื ืึทืกืืื ื ืืืืื ืืื ืืงืืืืขืจ, ื ืึธื ืกืืืืืึทืืึทืืืืฉืึทื. Node.js 18.x ืืืขื ืืืื ืืขืฉืืืฆื ืืื ืืคืจืื 2025. ืืืฉืึทืื ืคืื ืื ืคืจืืขืจืืืงืข LTS ืฆืืืืึทื ืคืื Node.js 16.x ืืืขื ืืืืขืจื ืืื ืืคืจืื 2024, ืืื ืื ืืึธืจ ืคืจืืขืจ ืืขืฆืืข LTS ืฆืืืืึทื 14.x ืืื ืืคืจืื 2023. ืื 12.x LTS ืฆืืืืึทื ืืืขื ืืืื ืืืกืงืึทื ืืื ืืื ืืืืฃ ืืคืจืื 30, ืืื ืื Node.js 17.x ืกืืึทืืื ื ืฆืืืืึทื ืืืขื ืืืื ืืืกืงืึทื ืืื ืืื ืืืืฃ ืืื ื 1.
ืืืืคึผื ืืืคึผืจืืืืืึทื ืฅ:
- ืื V8 ืืึธืืึธืจ ืืื ืืขืจืืืึทื ืืืงื ืฆื ืืืขืจืกืืข 10.1, ืืืึธืก ืืื ืืขื ืืฆื ืืื Chromium 101. ืงืึทืืคึผืขืจื ืฆื ืื 17.9.0 ืืขืืืื ื ืคืื Node.js, ืขืก ืืื ืืืฆื ืฉืืืฆื ืคึฟืึทืจ ืคึฟืขืึดืงืืืื ืึทืืึท ืืื ืื FindLast ืืื FindLastIndex ืืขืืืึธืืก ืคึฟืึทืจ ืืขืจืืืืื ื ืขืืขืืขื ืื ืงืึธืจืขืื ืฆื ืื ืกืืฃ ืคืื ืึท ืืขื ืืข, ืืื ืื Intl.supportedValuesOf ืคึฟืื ืงืฆืืข. ืืืคึผืจืืืื Intl.Locale API. ืื ืื ืืืืึทืืืืึทืืืึธื ืคืื ืงืืึทืก ืคืขืืืขืจ ืืื ืคึผืจืืืืึทื ืืขืืืึธืืก ืืื ืึทืงืกืขืืขืจืืืืื.
- ืื ืืงืกืคึผืขืจืืขื ืึทื ืคืขืืฉ () ืึทืคึผื ืืื ืขื ืืืืึทืื ืืืจื ืคืขืืืงืืึทื, ืืืืืื ื ืคึฟืึทืจ ืืึธืืืื ื ืจืขืกืืจืกื ืืืืขืจ ืื ื ืขืฅ. ืื ืืืคึผืืึทืืขื ืืืืฉืึทื ืืื ืืืืืจื ืืืืฃ ืื ืงืึธื ืคืื ืื HTTP/1.1 undici ืงืืืขื ื ืืื ืืื ืืื ื ืึธืขื ื ืืื ืืขืืืขื ืฆื ืื ืขื ืืขื ืึทืคึผื ืฆืืืขืฉืืขืื ืืื ืืจืึทืืืขืจื. ืืึธืก ืืืื ืฉืืืฆื ืคึฟืึทืจ ืื FormData, ืืขืึทืืขืจืก, ืืขืื ืืื ืจืขืกืคึผืึธื ืกืข ืื ืืขืจืคืืืกืื ืคึฟืึทืจ ืืึทื ืืคึผืืึทืืืืืื ื ืืืืคึผ ืืขืื ืืื ืขื ืืคืขืจ ืืขืืขืจื. const res = await fetch ('https://nodejs.org/api/documentation.json'); ืืืื (ืจืขืก.ืึธืง) {ืงืึธื ืกื ืืึทืื = ืึทืืืืื ืจืข.ืืืฉืกืึธื (); console.log (ืืึทืืข); }
- ืึทื ืืงืกืคึผืขืจืืขื ืึทื ืืืคึผืืึทืืขื ืืืืฉืึทื ืคืื ืื ืืืขื ืกืืจืืื ืึทืคึผื ืืื ืฆืืืขืืขืื, ืคึผืจืึทืืืืืืื ื ืึทืงืกืขืก ืฆื ืืึทืื ืกืืจืืื ืืืงืืืขื ืืืืขืจ ืื ื ืขืฅ. ืื API ืืืื ืขืก ืืขืืืขื ืฆื ืืืืื ืืืื ืืืืืขื ืข ืืึทื ืืืขืจืก ืฆื ืึทืจืืขืื ืืื ืืึทืื ืืืขื ืืื ืคึฟืึธืจืืึทืฆืืข ืงืืื ืืืืขืจ ืื ื ืขืฅ, ืึธื ืืืืจืื ืคึฟืึทืจ ืื ืืึทืื ืืึธืืืื ื ืื ืืื ืฆืข ืืขืงืข. ืึธืืืืฉืขืงืฅ ืืืฆื ืื ืืืฆื ืืื Node.js ืึทืจืืึทื ื ืขืืขื ReadableStream*, TransformStream*, WritableStream*, TextEncoderStream, TextDecoderStream, CompressionStream ืืื DecompressionStream.
- ืื ืืืึธื ืึทืคึผื ืืื ืืจืืืขืจืืขืคืืจื ืฆื ืกืืึทืืื, ืึทืืึทืืื ื ืืืจ ืฆื ืขื ืงืึทืคึผืกืืืืจื ืืืืืืืึทืืึทื ืจืื ืืึทืื ืคึฟืึทืจ ืืืืขืจ ื ืืฆื ืืื ืคืึทืจืฉืืืขื ืข ืึทืจืืขื ืคึฟืขืืขื.
- ืื ืืจืึธืึทืืงืึทืกืืืฉืึทื ื ืขื ืึทืคึผื ืืื ืืขืืืื ืกืืึทืืื, ืึทืืึทืืื ื ืืืจ ืฆื ืึธืจืืึทื ืืืืจื ืืขืจ ืืืขืงืกื ืคืื ืึทืจืืืงืืขื ืืื ืืืกืื ืืงืจืึทื ืึทืก ืืึธืืข ืืื ืื "ืืืื ืกืขื ืืขืจ - ืคืืืข ืจืืกืืคึผืืึทื ืฅ" ืคึฟืึธืจืืึทื.
- ืฆืืืขืืืืื ืืงืกืคึผืขืจืืขื ืึทื ืืึธืืืืข ื ืึธืืข: ืืขืกื ืคึฟืึทืจ ืงืจืืืืืื ื ืืื ืคืืืกื ืืืง ืืขืกืฅ ืืื ืืืฉืึทืืืึทืกืงืจืืคึผื ืืืึธืก ืืขืื ืจืขืืืืืึทืื ืืื TAP (ืืขืกื ืขืคึผืขืก ืคึผืจืึธืืึธืงืึธื) ืคึฟืึธืจืืึทื.
- ืืขืจ ืืืจ ืคืื ืคืึทืจืืืง ืึทืกืขืืืืื ืคึฟืึทืจ Red Hat Enterprise Linux (RHEL) 8 ืืื ืื ืืขืจืข ืืืกืืจืืืืืฉืึทื ื ืืืืืจื ืืืืฃ Glibc 2.28+, ืึทืจืืึทื ืืขืจืขืื ื Debian 10 ืืื Ubuntu 20.04, ืืื ืคึฟืึทืจ macOS 10.15+ ืืื ืฆืืืขืฉืืขืื. ืจืขืื ืฆื ืคึผืจืึธืืืขืืก ืืื ืื V8 ืืึธืืึธืจ ืืืืขื, ืื ืฉืึทืคืื ื ืคืื 32-ืืืกื ืืืืื ืคึฟืึทืจ Windows ืืื ืืขืืคึผืขืจืขืจืึทืื ืกืืึทืคึผื.
- ืฆืืืขืฉืืขืื ืึทื ืืงืกืคึผืขืจืืขื ืึทื ืึธืคึผืฆืืข ืฆื ืืืืขื ืึท Node.js ืขืงืกืขืงืืืึทืืืข ืืื ืืึทื ืืฆืขืจ-ืกืขืืขืงืืขื ืงืึทืืคึผืึธืื ืึทื ืฅ ืื ืืืืึทืืืืื ืืื ืกืืึทืจืืึทืคึผ. ืฆื ืืขืคืื ืืจื ืื ืกืืึทืจืืื ื ืงืึทืืคึผืึธืื ืึทื ืฅ, ืื "--node-snapshot-main" ืึธืคึผืฆืืข ืืื ืฆืืืขืืขืื ืฆื ืื ืงืึทื ืคืืืืขืจ ืืืืขื ืฉืจืืคื, ืคึฟืึทืจ ืืืึทืฉืคึผืื, "./configure โnode-snapshot-main=marked.js; ื ืึธืืขื ื ืึธืืข"
ืื Node.js ืคึผืืึทืืคืึธืจืืข ืงืขื ืขื ืืืื ืืขืืืืื ื ืืืืืข ืคึฟืึทืจ ืกืขืจืืืขืจ ืืืึทื ืฉืืืฆื ืคืื ืืืขื ืึทืคึผืืึทืงืืืฉืึทื ื, ืืื ืคึฟืึทืจ ืงืจืืืืืื ื ืคึผืจืึธืกื ืงืืืขื ื ืืื ืกืขืจืืืขืจ ื ืขืฅ ืืืืื. ืฆื ืืงืกืคึผืึทื ื ืื ืคืึทื ืืงืฉืึทื ืึทืืืื ืคืื ืึทืคึผืืึทืงืืืฉืึทื ื ืคึฟืึทืจ Node.js, ืึท ืืจืืืก ืืึทืืืื ื ืคืื ืืึทืืืฉืืื ืืื ืฆืืืขืืจืืื, ืืื ืืืึธืก ืืืจ ืงืขื ืขื ืืขืคึฟืื ืขื ืืึทืืืฉืืื ืืื ืื ืืืคึผืืึทืืขื ืืืืฉืึทื ืคืื ืืืืคึผ, ืกืืืคึผ, ืงืกืืคึผืคึผ, ืื ืก, ืคืืคึผ, ืืืึทืคึผ, ืคึผืึธืคึผ3 ืกืขืจืืืขืจืก ืืื ืงืืืืึทื ืฅ, ืืึทืืืฉืืื ืคึฟืึทืจ ืื ืืึทืืจืืืฉืึทื. ืืื ืคืึทืจืฉืืื ืืืขื ืคืจืึทืืขืืืึธืจืงืก, WebSocket ืืื Ajax ืืึทื ืืืขืจืก, ืงืึทื ืขืงืืขืจื ืฆื DBMS (MySQL, PostgreSQL, SQLite, MongoDB), ืืืกืืขืจ ืขื ืืืฉืึทื ื, CSS ืขื ืืืฉืึทื ื, ืืืคึผืืึทืืึทื ืฅ ืคืื ืงืจืืคึผืืึธืืจืึทืคืืง ืึทืืืขืจืืืึทืื ืืื ืืขืจืืืืืขื ืืฉ ืกืืกืืขืืขื (OAuth), XML ืคึผืึทืจืกืขืจืก.
ืฆื ืฉืขืคึผื ืืจืืืก ื ืืืขืจ ืคืื ืคึผืึทืจืึทืืขื ืจืืงืืืขืก, Node.js ื ืืฆื ืึทื ืืืกืื ืืงืจืึทื ืึทืก ืงืึธื ืืืจืืคืืจืื ื ืืึธืืขื ืืืืืจื ืืืืฃ ื ืื-ืืืึทืงืื ื ืืขืฉืขืขื ืืฉ ืคึผืจืึทืกืขืกืื ื ืืื ืืืคืืื ืื ื ืงืึทืืืืึทืงืง ืืึทื ืืืขืจืก. ืฉืืืฆื ืืขืืืึธืืก ืคึฟืึทืจ ืืืืืืคึผืืขืงืกืื ื ืงืึทื ืขืงืฉืึทื ื ืึทืจืืึทื ื ืขืืขื epoll, kqueue, /dev/poll ืืื select. ืคึฟืึทืจ ืงืฉืจ ืืืืืืคึผืืขืงืกืื ื, ืื ืืืืืื ืืืืืืึธืืขืง ืืื ืืขื ืืฆื, ืืืึธืก ืืื ืึทื ืึทืืืฉืึทื ืฆื ืืืืขืื ืืืืฃ ืืื ืืงืก ืกืืกืืขืืขื ืืื ืฆื IOCP ืืืืฃ Windows. ืื ืืืืืึธ ืืืืืืึธืืขืง ืืื ืืขื ืืฆื ืฆื ืฉืึทืคึฟื ืึท ืคืึธืืขื ืืขืงื, ืืื C-ares ืืื ืื ืึทืืจืืืืื ืฆื ืืืจืืคืืจื ืื ืก ืคึฟืจืืื ืืื ืึท ื ืื-ืืืึทืงืื ื ืืึธืืข. ืึทืืข ืกืืกืืขื ืจืืคื ืืืึธืก ืคืึทืจืฉืึทืคื ืืืึทืงืื ื ืืขื ืขื ืขืงืกืึทืงืืืืึทื ืืื ืื ืคืึธืืขื ืืขืงื ืืื ืืขืจื ืึธื, ืืื ืกืืื ืึทื ืืึทื ืืืขืจืก, ืคืึธืจื ืื ืจืขืืืืืึทื ืคืื ืืืืขืจ ืึทืจืืขื ืฆืืจืืง ืืืจื ืึทื ืึทื ื ืืืื ืจืขืจ. ืื ืืืจืืคืืจืื ื ืคืื ืืืฉืึทืืืึทืกืงืจืืคึผื ืงืึธื ืืื ืื ืฉืืจื ืืืจื ืื ื ืืฆื ืคืื ืื ืื8 ืืึธืืึธืจ ืืขืืืขืืึธืคึผืขื ืืืจื Google (ืืื ืืขืจืฆื, ืืืืงืจืึธืกืึธืคึฟื ืืื ืืขืืืขืืึธืคึผืื ื ืึท ืืืขืจืกืืข ืคืื โโNode.js ืืื ืื Chakra-Core ืืึธืืึธืจ).
ืืื ืืืื ืืึทืจืฅ, Node.js ืืื ืขื ืืขื ืฆื ืื Perl AnyEvent, Ruby Event Machine, Python Twisted ืคืจืึทืืขืืืึธืจืงืก ืืื ืื ืืืคึผืืึทืืขื ืืืืฉืึทื ืคืื ืืขืฉืขืขื ืืฉื ืืื Tcl, ืึธืืขืจ ืื ืืขืฉืขืขื ืืฉ ืฉืืืืฃ ืืื Node.js ืืื ืคืึทืจืืึธืจืื ืคืื ืื ืืขืืืขืืึธืคึผืขืจ ืืื ืจืืืขืืืึทืื ืืขืฉืขืขื ืืฉ ืคึผืจืึทืกืขืกืื ื ืืื ืึท ืืืขื ืึทืคึผืืึทืงืืืฉืึทื. ืคืืืกื ืืืง ืืื ืืืขืืขืจืขืจ. ืืืขื ืฉืจืืืื ืึทืคึผืืึทืงืืืฉืึทื ื ืคึฟืึทืจ node.js, ืขืก ืืื ื ืืืืืง ืฆื ื ืขืืขื ืืื ืืฉืืื ืื ืกืคึผืขืกืืคืืงืก ืคืื ืืขืฉืขืขื ืืฉ-ืืขืืจืืื ืคึผืจืึธืืจืึทืืืื ื, ืคึฟืึทืจ ืืืึทืฉืคึผืื, ืึทื ืฉืืึธื ืคืื "var result = db.query ("ืกืขืืขืงืืืจื..");" ืืื ืืืืจืื ืคึฟืึทืจ ืื ืงืึทืืคึผืืืฉืึทื ืคืื ืึทืจืืขื ืืื ืกืึทืืกืึทืงืืืึทื ื ืคึผืจืึทืกืขืกืื ื ืคืื ืื ืจืขืืืืืึทืื, Node.js ื ืืฆื ืืขื ืคึผืจืื ืฆืืคึผ ืคืื ืืืกืื ืืงืจืึทื ืึทืก ืืืจืืคืืจืื ื, ื.ืข. ืืขืจ ืงืึธื ืืื ืคืืจืืืื ืืืขื ืืื "db.query ("ืกืขืืขืงืืืจื ..", ืคึฟืื ืงืฆืืข (ืจืขืืืืืึทื) {ืจืขืืืืืึทื ืคึผืจืึทืกืขืกืื ื});", ืืื ืืืึธืก ืงืึธื ืืจืึธื ืืืขื ืืืืื ืคืึธืจื ืฆื ืืืืึทืืขืจ ืงืึธื, ืืื ืื ืึธื ืคึฟืจืขื ืจืขืืืืืึทื ืืืขื ืืืื ืคึผืจืึทืกืขืกื ืืื ืืึทืื ืขืจืืืืื.
ืืงืืจ: opennet.ru