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
29
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.4k
Featured
See All Featured
Stop Working from a Prison Cell
hatefulcrawdad
267
20k
[RailsConf 2023] Rails as a piece of cake
palkan
53
5.2k
Typedesign – Prime Four
hannesfritz
40
2.5k
How to Ace a Technical Interview
jacobian
276
23k
Fontdeck: Realign not Redesign
paulrobertlloyd
83
5.4k
Docker and Python
trallard
44
3.3k
Unsuck your backbone
ammeep
669
57k
Designing on Purpose - Digital PM Summit 2013
jponch
117
7.1k
The World Runs on Bad Software
bkeepers
PRO
67
11k
Fantastic passwords and where to find them - at NoRuKo
philnash
51
3k
Optimizing for Happiness
mojombo
376
70k
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
30
4.6k
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 からあったらしい