Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

ECMAScript 2023の対応 #1658

Closed
8 of 9 tasks
azu opened this issue Apr 29, 2023 · 10 comments · Fixed by #1688 or #1693
Closed
8 of 9 tasks

ECMAScript 2023の対応 #1658

azu opened this issue Apr 29, 2023 · 10 comments · Fixed by #1688 or #1693
Labels

Comments

@azu
Copy link
Collaborator

azu commented Apr 29, 2023

ECMAScript 2023対応のmeta issueです。

proposals/finished-proposals.md at master · tc39/proposals

やりかた

  • 検討リストから対応するべきかを決める
  • 対応するものは別途Issue化する
  • 対応する
  • すべて対応したら book.js を更新
  • リリースノートを公開する

スケジュール

検討リスト

過去

@azu azu added Type: Meta Lang: ES2023 ECMAScript 2023 labels Apr 29, 2023
@azu
Copy link
Collaborator Author

azu commented May 6, 2023

proposal-array-find-from-last

lastIndexOfがあるので、findLastIndexの対応を追加するのが自然そう

https://jsprimer.net/basic/array/#indexof 最後に追加する感じかな。

@azu
Copy link
Collaborator Author

azu commented May 6, 2023

Hashbang Grammar

Node CLIのユースケースはCLIの配布までやってないので、hashbangが出てこない。

https://jsprimer.net/basic/comments/ に1行コメントの亜種として足すのはありそうだけど、あんまり強い理由ないかも。

HTML-likeコメントみたいに可能なら追加するぐらいかな。
あんまり増やしても意味はないので、何か面白くなるような感じなら足すイメージ

@azu
Copy link
Collaborator Author

azu commented May 6, 2023

Symbol as a Key

仕組み的には結構面白いことになってる。

  • Symbol()
  • Symbol.for()

に意味的な違いが結構出てる。

対応的には、weakの話でキーに指定できるものへsymbolが追加されたことだけど、
キーに指定できるものを書いてはない?

また、弱い参照で値を持つ特性上、WeakSetの値として使えるのは参照型のオブジェクトだけです

Setのここだけ修正が入りそう

@azu
Copy link
Collaborator Author

azu commented May 6, 2023

Change Array by copy

これは対応しないといけない。
詳細はIssueを切って考える

  • Array.prototype.toReversed() -> Array
  • Array.prototype.toSorted(compareFn) -> Array
  • Array.prototype.toSpliced(start, deleteCount, ...items) -> Array
  • Array.prototype.with(index, value) -> Array

配列 · JavaScript Primer #jsprimer

方向としては

  • 非破壊、破壊を手前にして、それぞれを並べて書く
  • 破壊をおいてから、非破壊という概念としてまとめて書く

@azu
Copy link
Collaborator Author

azu commented Jun 25, 2023

ES2023がリリースされるのは 27.06.2023 - 28.06.2023の予定
Meeting calendar - Ecma International
https://www.ecma-international.org/about-ecma/meeting-calendar/

✅は全てのブラウザが対応してるかどうか(2023-06-30)
Firefoxが未実装なものがある

#!test
// #!が1行コメントとして扱われるように仕様化された
const sequence = [1, 2, 3];
sequence.toReversed(); // => [3, 2, 1]
sequence; // => [1, 2, 3]

const outOfOrder = new Uint8Array([3, 1, 2]);
outOfOrder.toSorted(); // => Uint8Array [1, 2, 3]
outOfOrder; // => Uint8Array [3, 1, 2]

const correctionNeeded = [1, 1, 3];
correctionNeeded.with(1, 2); // => [1, 2, 3]
correctionNeeded; // => [1, 1, 3]
const array = [{ value: 1 }, { value: 2 }, { value: 3 }, { value: 4 }];
array.findLastIndex(n => n.value % 2 === 1); // => 2
array.findLast(n => n.value % 2 === 1); // => { value: 3 }
const map = new WeakMap();
const s = Symbol("desc");
map.set(s, {})
map.get(s); // => {}

@azu
Copy link
Collaborator Author

azu commented Aug 3, 2023

Hashbang Grammar
以外は対応が完了。

コメント · JavaScript Primer #jsprimerに足すかはなんか微妙。
とりあえずIssue化して対応したい人がいたら対応するぐらいでいいかな。

あとはリリースノートとかを書く

@azu azu linked a pull request Aug 5, 2023 that will close this issue
@azu azu closed this as completed in #1688 Aug 12, 2023
@azu
Copy link
Collaborator Author

azu commented Aug 12, 2023

@azu
Copy link
Collaborator Author

azu commented Aug 28, 2023

@azu
Copy link
Collaborator Author

azu commented Aug 31, 2023

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
1 participant