Lock in $30 Savings on PRO—Offer Ends Soon! ⏳
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Node V18 について
Search
ryota kise
August 25, 2022
0
42
Node V18 について
Node V18 でどんな変更があったのかについて共有しました。
ryota kise
August 25, 2022
Tweet
Share
More Decks by ryota kise
See All by ryota kise
構造体初期化の方法について
mmmommm
0
190
Node.jsデザインパターンを読んで
mmmommm
0
9.7k
Featured
See All Featured
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
234
17k
Scaling GitHub
holman
464
140k
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
37
2.6k
Site-Speed That Sticks
csswizardry
13
990
Balancing Empowerment & Direction
lara
5
790
Product Roadmaps are Hard
iamctodd
PRO
55
12k
[SF Ruby Conf 2025] Rails X
palkan
0
470
XXLCSS - How to scale CSS and keep your sanity
sugarenia
249
1.3M
A better future with KSS
kneath
240
18k
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
9
1k
Bootstrapping a Software Product
garrettdimon
PRO
307
120k
Become a Pro
speakerdeck
PRO
30
5.7k
Transcript
Node V18について 社名:CAM 名前:吉瀬遼太
変更点 - fetchがフラグなしで使えるようになった - web stream APIの一連のクラスが追加された - Blob BloadcastChannelがグローバルで使用可能になった
node:buffer からimportする必要がなくなった - 標準のテストが追加された - V8のバージョンが 10.1 になった - server.headersTimeoutがデフォルトで 0->60000ms(1分)になった クライアントからのヘッダー受信のタイムアウト - server.requestTimeoutがデフォルトで 0->300000ms(5分)になった クライアントからのリクエスト受信のタイムアウト
fetch 元々ブラウザ側に存在していた fetch API をサーバー側にも追加した形 XHRで行うAPIへのリクエストの代替だけではなく imgタグ用の画像のバイナリデータ取 得を行ったりするため、用途として完全に同じではないがインターフェースとしては同じ です
Web Stream API 元々Node.jsにあったStream API はブラウザとの互換性がなかったため、従来の Stream API を残しつつブラウザに互換性のある Stream
API を追加 以前は ‘node:stream/web’ から import しないといけなかったがグローバルに追加
標準のテスト node:test モジュールが追加、最低限の assert などが生えています まだ単一ファイルの実行しかできないですが機能が揃って来れば最低限のテストなら Jestとかをインストールせずにできるので便利そうです
V8のバージョンアップ 配列の新たなメソッド findLast() findLastIndex() が追加 find() や findIndex() は前からですが後ろから数えられるように
Intl.Locale API Intl.supportedValuesOf 関数 が追加 Intl.Locale オブジェクトに calendars や timeZones
などのプロパティがあり そのロケールで使用されているものをみることができる Intl.supportedValuesOf() を使用するとそれらのプロパティがどんな値をサポートしてい るのか確認することができる i18n対応をする際に使用されているようです、ギリシャの暦に対応しなくてはならないみ たいな時に - https://v8.dev/blog/v8-release-99#intl.locale-extensions - https://v8.dev/blog/v8-release-99#intl-enumeration
node: プレフィックスとは? このプレフィックスをつけることで、Nodeのコアモジュールであることを明示することがで きる Nodeのコアモジュールに対してつけることができ、このプレフィックスのあるなしで動作 は変わらない V18の変更点である、node:test は node: プレフィックスが必須のモジュールになってい
る 実はnodeV14 からあったらしい