Node.js 20.0 ืืื ืืืคืจืืื, ืึท ืคึผืืึทืืคืึธืจืืข ืคึฟืึทืจ ืคืืืกื ืืืง ื ืขืฅ ืึทืคึผืืึทืงืืืฉืึทื ื ืืื ืืืฉืึทืืืึทืกืงืจืืคึผื. Node.js 20.0 ืืื ืงืืึทืกืึทืคืืื ืืื ืึท ืืึทื ื-ืืขืจืืื ืฉืืืฆื ืฆืืืืึทื, ืึธืืขืจ ืืขื ืกืืึทืืืก ืืืขื ืืืื ืึทืกืืื ื ืืืืื ืืื ืืงืืืืขืจ, ื ืึธื ืกืืืืืึทืืึทืืืืฉืึทื. Node.js 20.x ืืืขื ืืืื ืืขืฉืืืฆื ืืื 30 ืืคืจืื 2026. ืืืฉืึทืื ืคืื ืื ืคืจืืขืจืืืงืข LTS ืฆืืืืึทื ืคืื Node.js 18.x ืืืขื ืืืืขืจื ืืื ืืคืจืื 2025, ืืื ืื ืืขืฆืืข LTS ืฆืืืืึทื 16.x ืืื ืกืขืคืืขืืืขืจ 2023. ืื 14.x LTS ืฆืืืืึทื ืืืขื ืืืื ืืืกืงืึทื ืืื ืืื ืืืืฃ ืืคืจืื 30, ืืื ืื Node.js 19.x ืกืืึทืืื ื ืฆืืืืึทื ืืืขื ืืืื ืืืกืงืึทื ืืื ืืื ืืืืฃ ืืื ื 1.
ืืืืคึผื ืืืคึผืจืืืืืึทื ืฅ:
- ืื ืื8 ืืึธืืึธืจ ืืื ืืขืจืืืึทื ืืืงื ืฆื ืืืขืจืกืืข 11.3, ืืขืืืืื ื ืืื Chromium 113. ืขื ืืขืจืื ืืขื ืงืึทืืคึผืขืจื ืฆื ืื Node.js 19 ืฆืืืืึทื, ืืืึธืก ืืขืืืืื ื ืื Chromium 107 ืืึธืืึธืจ, ืึทืจืืึทื ื ืขืืขื ืื String.prototype.isWellFormed ืืื toWellFormed ืคืึทื ืืงืฉืึทื ื, ืื Array.prototype ืืื TypedArray. ืคึผืจืึธืืืึทืืืืคึผ ืืขืืืึธืืก ืคึฟืึทืจ ืืจืืขืื ืืื ืึท ืงืึธืคึผืืข ืืืขื ืืฉืึทื ืืื ื Array ืืื TypedArray ืึทืืืืฉืขืงืฅ, ืื "v" ืคืึธื ืืื RegExp, ืฉืืืฆื ืคึฟืึทืจ ืจืขืกืืืื ื ArrayBuffer ืืื ืื ืงืจืืกืื ื ืื ืืจืืืก ืคืื SharedArrayBuffer, ืขืง ืจืขืงืืจืกืืึธื (ืขืง-ืจืืคื) ืืื ืืืขืืึทืกืกืขืืืื.
- ืึทื ืืงืกืคึผืขืจืืขื ืึทื ืืขืจืืืืืขื ืืฉ ืืึธืืขื ืืขืงืึทื ืืืึทื ืืื ืคืืจืืขืืืืื ืึทื ืึทืืึทืื ืืืืึทืืื ื ืึทืงืกืขืก ืฆื ืืืืขืจ ืจืขืกืืจืกื ืืขืฉืึทืก ืืืจืืคืืจืื ื. ืืขืจืืืืืขื ืืฉ ืืึธืืขื ืฉืืืฆื ืืื ืขื ืืืืึทืื ืืืจื ืกืคึผืขืฆืืคืืฆืืจื ืื "--ืขืงืกืคึผืขืจืืืขื ืืึทื-ืืขืจืืืืืขื ืืฉ" ืคืึธื ืืืขื ืคืืืกื ืืืง. ืืขืจ ืขืจืฉื ืืืคึผืืึทืืขื ืืืืฉืึทื ืึธืคืคืขืจืก ืึธืคึผืฆืืขืก ืคึฟืึทืจ ืืืืืืื ื ืฉืจืืึทืื (--ืึทืlow-fs-write) ืืื ืืืืขื ืขื (--allow-fs-read) ืึทืงืกืขืก ืฆื ืืืืขืจ ืคึผืึทืจืฅ ืคืื ืืขืจ ืืขืงืข ืกืืกืืขื, ืงืื ื ืคึผืจืึทืกืขืกืึทื (-ืึทืlow-child-process), ืืื ืืืื-ืึธื ืก (--ื ืื-ืึทืืืึทื ื)) ืืื ืคึฟืขืืขื (--ืึทืืึธืื-ืึทืจืืขืืขืจ). ืคึฟืึทืจ ืืืึทืฉืคึผืื, ืฆื ืืึธืื ืฉืจืืืื ืฆื ืื /ืืืคึผ ืืืขืืืืืึทืืขืจ ืืื ืืืืขื ืขื ืื /home/index.js ืืขืงืข, ืืืจ ืงืขื ืขื ืกืคึผืขืฆืืคืืฆืืจื: ื ืึธืืข โืขืงืกืคึผืขืจืืืขื ืืึทื-ืืขืจืืืืืขื ืืฉ โallow-fs-write=/tmp/ โallow-fs-read=/home /index.js ืืื ืืขืงืก.ืืืฉืก
ืฆื ืงืึธื ืืจืึธืืืจื ืึทืงืกืขืก, ืขืก ืืื ืกืึทืืืืฉืขืกืืื ืฆื ื ืืฆื ืื ืคึผืจืึธืฆืขืก.permission.has() ืืืคึฟื, ืคึฟืึทืจ ืืืึทืฉืคึผืื, "process.permission.has('fs.write',"/tmp/test").
- ECMAScript ืขืงืกืืขืจื ืึทื ืืึธืืืืข (ESM) ืืึทื ืืืขืจืก ืืึธืืืื ืืืจื ืื "--ืขืงืกืคึผืขืจืืืขื ืืึทื-ืืึธืืืขืจ" ืึธืคึผืฆืืข ืืืฆื ืืืืคื ืืื ืึท ืืึทืืื ืืขืจ ืคืึธืืขื, ืืคืืขืืื ืืขืจื ืคืื ืื ืืืืคึผื ืคืึธืืขื, ืืืืืึทื ืืืืื ื ืื ืื ืืขืจืกืขืงืฉืึทื ืคืื ืึทืคึผืืึทืงืืืฉืึทื ืงืึธื ืืื ืืึธืืืื ESM ืืึทืืืฉืืื. ืขื ืืขื ืฆื ืืจืึทืืืขืจื, ืื import.meta.resolve() ืืืคึฟื ืืื ืืืฆื ืขืงืกืึทืงืืืืึทื ืกืื ืืฉืจืึธื ืึธืืกืื ืืืขื ืืขืจืืคื ืคึฟืื ืึท ืึทืคึผืืึทืงืืืฉืึทื. ืืื ืืืื ืขืจ ืคืื ืื ืืืืึทืืขืจ ืฆืืืืืื ืคืื Node.js, ืฉืืืฆื ืคึฟืึทืจ ืืึธืืืื ื ESM ืืื ืคึผืืึทื ื ืขื ืฆื ืืืื ืืจืึทื ืกืคืขืจื ืฆื ืืขืจ ืงืึทืืขืืึธืจืืข ืคืื โโืกืืึทืืื ืคึฟืขืึดืงืืืื.
- ืื ืืึธืืืืข ื ืึธืืข: ืืขืกื (ืืขืกื_ืจืึทื ื ืขืจ), ืืืืืื ื ืคึฟืึทืจ ืงืจืืืืืื ื ืืื ืคืืืกื ืืืง ืืขืกืฅ ืืื ืืืฉืึทืืืึทืกืงืจืืคึผื ืืืึธืก ืืขืื ืจืขืืืืืึทืื ืืื TAP (Test Anything Protocol) ืคึฟืึธืจืืึทื, ืืื ืืขืืืื ืกืืึทืืื.
- ื ืืึทืืื ืืขืจ ืึทื ืืืืืงืืื ื ืืึทื ืฉืึทืคึฟื ืืื ืืขืืจืื ืืขื ืคืึทืจืึทื ืืืืึธืจืืืขื ืคึฟืึทืจ ืคืึธืจืฉืืขืืื ื ืึทืคึผืืึทืืึทืืืืฉืึทื, ืืืึธืก, ืืืขื ืคึผืจืืคึผืขืจืื ื ืึท ื ืืึทืข ืฆืืืืึทื, ืืขืืจืืขื ืฆื ืคืึทืจืืืืขืจื ืคืึทืจืฉืืื ืจืื ืืืืข ืงืึทืืคึผืึธืื ืึทื ืฅ, ืึทืจืืึทื ืืขืจืขืื ื URL ืคึผืึทืจืกืื ื, ืืจืขื ืืขื () ืืื EventTarget. ืคึฟืึทืจ ืืืึทืฉืคึผืื, ืื ืึธืืืืขืจืืขื ืคืื EventTarget ืื ืืืืึทืืืืึทืืืึธื ืืื ืืึทืืื, ืื ืคืึธืจืฉืืขืืื ื ืคืื ืื URL.canParse () ืืืคึฟื ืืื ืืืืืืืืง ืืืคึผืจืืืื, ืืื ืื ืขืคืขืงืืืืืงืืึทื ืคืื ืืืืืขืจื ืืื ืืืคึผืจืืืื. ืขืก ืืืื ืืืื ืื ืืขืืืื ื ืคืื ืึท ืืืื-ืคืึธืจืฉืืขืืื ื URL ืคึผืึทืจืกืขืจ, Ada 2.0, ืืขืฉืจืืื ืืื C ++.
- ืื ืึทื ืืืืืงืืื ื ืคืื ืื ืืงืกืคึผืขืจืืขื ืึทื ืคืืืืงืืื ืคึฟืึทืจ ืืืืืืืขืจืื ื ืึทืคึผืืึทืงืืืฉืึทื ื ืืื ืื ืคืึธืจืขื ืคืื ืึท ืืืื ืขืงืกืขืงืืืึทืืืข ืืขืงืข (SEA, Single Executable Applications) ืืื ืคืืจืืืืื. ืฉืึทืคึฟื ืึท ืขืงืกืขืงืืืึทืืืข ืืขืงืข ืืืฆื ืจืืงืืืืืขืจื ืกืึทืืกืืืืืฉืึทื ืคืื ืึท ืืืึธื ืืืฉืขื ืขืจืืืืึทื ืคึฟืื ืึท ืงืึทื ืคืืืืขืจืืืฉืึทื ืืขืงืข ืืื JSON ืคึฟืึธืจืืึทื (ืึทื ืฉืืึธื ืคืื ืกืึทืืกืืืืืืื ื ืึท ืืืฉืึทืืืึทืกืงืจืืคึผื ืืขืงืข).
- ืืืคึผืจืืืื ืงืึทืืคึผืึทืืึทืืืืึทืื ืคืื ืื ืืืขื ืงืจืืคึผืืึธ ืึทืคึผื ืืื ืืืคึผืืึทืืึทื ืฅ ืคืื ืื ืืขืจืข ืคึผืจืึทืืืฉืขืงืก.
- ืฆืืืขืืขืื ืืึทืึทืืืขืจ ืฉืืืฆื ืคึฟืึทืจ Windows ืืืืฃ ARM64 ืกืืกืืขืืขื.
- ืื ืืืคึผืืึทืืขื ืืืืฉืึทื ืคืื ืฉืืืฆื ืคึฟืึทืจ WASI (WebAssembly System Interface) ืืงืกืืขื ืฉืึทื ื ืคึฟืึทืจ ืงืจืืืืืื ื ืกืืึทื ืืึทืืึธื ืข ืืืขืืึทืกืกืขืืืื ืึทืคึผืืึทืงืืืฉืึทื ื ืืื ืคืืจืืืืื. ืจืืืืืื ืื ื ืืื ืฆื ืกืคึผืขืฆืืคืืฆืืจื ืึท ืกืคึผืขืฆืืขื ืืึทืคึฟืขืื ืฉืืจื ืคืึธื ืฆื ืืขืื WASI ืฉืืืฆื.
ืื 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