asciidwango / js-primer

:book: JavaScript Primer - 迷わないための入門書
https://jsprimer.net
Creative Commons Attribution 4.0 International
2.34k stars 224 forks source link

ECMAScript 2024の対応 #1706

Closed azu closed 2 months ago

azu commented 11 months ago

ES2024対応のメタIssueです

やりかた

スケジュール

検討リスト

検討対象のリスト

対応リスト

実際に対応するリスト

過去

azu commented 10 months ago

合わせて考えたいこと

azu commented 9 months ago

First Impression

サロゲートペアで判定方法として触れる可能性がある。

Atomicsは触れてないので特に触れない

文字列とUnicode · JavaScript Primer #jsprimerで触れる可能性はあるがちょっとAdvancedな感じがする

ArrayBufferの詳細は触れてないので触れない。

配列 · JavaScript Primer #jsprimer で検討する

非同期処理:Promise/Async Function · JavaScript Primer #jsprimerでDefferredについては触れてないので触れないかもしれない。

azu commented 9 months ago

Well-Formed Unicode Strings

孤立したサロゲートペアを発見するメソッド。

encodeURIComponent("\uD800")

のような孤立したサロゲートペアを受け取ると例外を投げる文字列の判定に利用できる。

サロゲートペア では、特に孤立したサロゲートペアについては触れていない。 そのため、追加するかはちょっと微妙。コラム的に書くのはありかもしれないぐらいな印象

結論

Issueは作るが、必要なら対応するぐらいな優先度

azu commented 9 months ago

tc39/proposal-atomics-wait-async: "asynchronous atomic wait" for ECMAScript

Atomics.waitAsync Atomics自体が登場していないため、特に触れない

結論

対応しない

azu commented 9 months ago

tc39/proposal-regexp-v-flag: UTS18 set notation in regular expressions

特にフラグを網羅してるわけではないので、触れなくても問題なさそう。 フラグの一覧だけを出すというのはありかもしれないが、現状はそのパターンがないので触れない

結論

対応しない

azu commented 9 months ago

ArrayBuffer

ArrayBuffer自体を扱っていないので対応しない

結論

対応しない

azu commented 9 months ago

tc39/proposal-array-grouping: A proposal to make grouping of array items easier

Web互換性のためにObject.groupByになった。 Map.groupBy(array, fn)もある。

グループ化は頻出ではあるので含めるのは妥当そうだけど、配置が難しい

という経緯。 どちらも配列を引数として受け取るようになってるので、配列関係。

データの変換的に見れば

として捉えられる。

Object.groupByは、 配列 to objectなので、Array.prototype.reduce の近くにあるのが良さそう。 Map.groupByは、Map/Setにあるのが良さそう。 Map.groupByはちょっと必要かは怪しい。

結論

azu commented 9 months ago

tc39/proposal-promise-with-resolvers

Promise.withResolvers によるイベントの Promise 化 | blog.jxck.io Defferredパターンが必要なのは、イベントの付与とPromiseを組み合わせる時。 書籍では特に出てこない。

Ajax通信 · JavaScript Primer #jsprimerはclickが最初に決まっているので、クリックしたタイミングで付与するわけじゃない。XHRならありえたけど。

少し発展的なパターンなので、この本だと不要そう。

結論

対応しない。

azu commented 9 months ago

https://github.com/tc39/ecma262/releases/tag/es2024-candidate-2024-02 ES2024 RCがリリースされた