js-primer icon indicating copy to clipboard operation
js-primer copied to clipboard

ECMAScript 2024の対応

Open azu opened this issue 1 year ago • 9 comments

ES2024対応のメタIssueです

やりかた

  • [ ] JavaScript Primer - Open Collectiveでのアナウンス
  • [x] 検討リストから対応するべきかを決める
  • [x] 対応するものは別途Issue化する
  • [ ] 対応する
  • [ ] すべて対応したら book.js を更新
  • [ ] リリースノートを公開する

スケジュール

  • 1月: TC39で最終的にFeature Freezeされる
  • 1-6月: 検討、実装
  • 6月: ES2023の正式リリースと合わせて公開

検討リスト

検討対象のリスト

対応リスト

実際に対応するリスト

  • [ ] #1716
  • [ ] #1716

過去

  • #1658
  • #1337
  • #1220
  • #1145

azu avatar Dec 10 '23 11:12 azu

合わせて考えたいこと

  • #1674
  • #1694
  • #1698

azu avatar Dec 29 '23 04:12 azu

Well-Formed Unicode Strings

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

encodeURIComponent("\uD800")

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

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

結論

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

azu avatar Feb 10 '24 04:02 azu

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

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

結論

対応しない

azu avatar Feb 10 '24 04:02 azu

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

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

結論

対応しない

azu avatar Feb 10 '24 04:02 azu

ArrayBuffer

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

結論

対応しない

azu avatar Feb 10 '24 04:02 azu

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

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

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

  • Array.prototype.groupObject.groupBy(array, cb)
  • Array.prototype.groupToMapMap.groupBy(array, cb)

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

データの変換的に見れば

  • Object.groupBy は 配列をオブジェクトにするメソッド
  • Map.groupBy は配列をMapにするメソッド

として捉えられる。

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

結論

  • Object.groupBy: 配列の章に追加する
  • Map.groupBy は Map/Setの章に追加する?

azu avatar Feb 10 '24 05:02 azu

tc39/proposal-promise-with-resolvers

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

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

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

結論

対応しない。

  • https://github.com/azu/promises-book/issues/366

azu avatar Feb 10 '24 05:02 azu

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

azu avatar Feb 17 '24 08:02 azu