Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Node V18 について
Search
ryota kise
August 25, 2022
0
33
Node V18 について
Node V18 でどんな変更があったのかについて共有しました。
ryota kise
August 25, 2022
Tweet
Share
More Decks by ryota kise
See All by ryota kise
構造体初期化の方法について
mmmommm
0
170
Node.jsデザインパターンを読んで
mmmommm
0
8.8k
Featured
See All Featured
Designing Experiences People Love
moore
141
24k
Optimising Largest Contentful Paint
csswizardry
36
3.2k
Fontdeck: Realign not Redesign
paulrobertlloyd
83
5.5k
Practical Orchestrator
shlominoach
186
11k
Docker and Python
trallard
44
3.3k
Building Better People: How to give real-time feedback that sticks.
wjessup
367
19k
VelocityConf: Rendering Performance Case Studies
addyosmani
328
24k
Optimizing for Happiness
mojombo
377
70k
Learning to Love Humans: Emotional Interface Design
aarron
273
40k
Adopting Sorbet at Scale
ufuk
76
9.3k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
194
16k
How To Stay Up To Date on Web Technology
chriscoyier
790
250k
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 からあったらしい