https://forest.watch.impress.co.jp/docs/news/1404310.html

「Node.js」v18.0.0

「Node.js」の新しいメジャーバージョン「Node.js 18」が、4月19日にリリースされた。JavaScriptエンジン「V8」がv10.1へアップデートされるなど、さまざまな機能強化が施されている。

指定したURLのコンテンツを取得する「fetch()」関数が、グローバルスコープで利用可能になった。まだ試験的(experimental)とされているが、試験フラグを指定しなくても既定で利用できる。

ちなみに、「fetch()」関数の実装は「Node.js」のために書かれた HTTP/1.1 クライアントである「undici」をベースにしているとのこと。

HTTPタイムアウト

以下のパラメーターの既定値が更新される。サービス拒否(DoS)攻撃に備え、これらのパラメーターは「0」(タイムアウトなし)以外に設定することが推奨されている。

これらのタイムアウトが経過すると、サーバーはステータスコード「408」で応答し、接続を閉じる。

「V8」の更新に伴う新機能

「V8」がv10.1へアップデートされ、以下のJavaScript機能が利用できるようになる。また、クラスフィールドとプライベートクラスメソッドのパフォーマンスが向上し、初期化は通常のプロパティストアと同じくらい速くなっているとのこと。

そのほか

そのほかにも、ツールチェーンのアップデートなどが行われた。macOSのビルド済みバイナリは「macOS 10.15」以降が必要となるほか、32bit版Windows向けのバイナリは依存関係の問題によりファーストリリースでは提供されないので注意。

「Node.js 18」は現在、公式サイト「nodejs.org」から無償でダウンロード可能。本バージョンはLTS(長期サポート)リリースとなるため、6カ月の通常サポートに加え、30カ月の延長サポートが提供される。2025年4月30日までパッチが利用可能だ。