You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
reacted with thumbs up emoji reacted with thumbs down emoji reacted with laugh emoji reacted with hooray emoji reacted with confused emoji reacted with heart emoji reacted with rocket emoji reacted with eyes emoji
-
3.0.0
JavaScript Primerのウェブ版がECMAScript 2021に対応しました 🎉
JavaScript Primerのウェブサイトから閲覧できます。
JavaScript Primerについて
JavaScript Primerは、これからJavaScriptを学びたい人が、ECMAScript 2015以降をベースにして一からJavaScriptを学べる書籍です。
ECMAScriptの仕様は毎年アップデートされるため、JavaScript Primerも毎年それに対応できるように継続してアップデートしています。
GitHubで更新情報を購読したい人は、asciidwango/js-primerリポジトリを"Watch"してください。
"Custom"からリリースのみを購読も可能です。
更新通知をメールで受け取り方は、次のフォームからメールアドレスを登録してください。
書籍への支援について
継続的にアップデートするために、書籍への支援はいつでも歓迎しています。
JavaScript PrimerはECMAScriptのアップデートに追従したり、現実の使い方を反映するために、継続してアップデートしています。
GitHub Sponsorsで著者を支援できます。
また、書籍版へのレビューを書くことも支援に繋がります。
GitHubのDiscussions(掲示板)の他の人の質問に答えたり、JSPrimerを読んだ感想を書くことも支援になります。
Discussionsのガイドラインは次のスレッドにまとめられています。
書籍に対してIssueを立てたり、Pull Requestを送ったりして直接的に支援もできます。
IssueやPull Requestについては、次のページを参照してください。
ECMAScript 2021
ECMAScript 2021は、2021年6月にEcma Internationalで正式に承認された仕様です。
ECMAScriptの仕様策定のプロセスについては、次のページを参照してください。
3.0.0の変更点
3.0.0では次の項目について書籍の内容を変更、追加しています。
String#replaceAll
ES2021では、
String#replaceAll
メソッドというマッチした文字列を全て置換するメソッドが追加されました。String#replace
メソッドでは、最初に一致したものだけが置換されますが、String#replaceAll
メソッドでは一致したものがすべて置換されます。今までも
String#replace
メソッドと正規表現のg
(global)フラグを使うことで、繰り返し置換が可能でした。しかし、正規表現では
?
や.
などは特殊な意味を持つため、エスケープが必要となります。String#replaceAll
メソッドでは、ただの文字列として渡したものを繰り返し置換ができるため、エスケープが不要な点が主な違いです。詳細
Numeric Separators
ES2021では、Numeric Separatorsという
_
を数値リテラルの区切り文字として利用できる構文が追加されました。数値リテラルでは数値が大きくなるほど、桁数の見間違いなどが発生しやすくなります。
Numeric Separatorsでは、数値リテラルの区切り文字として
_
が追加できます。数値リテラルを評価する際には、
_
は単純に無視されるため意味の違いはありません。JavaScript Primer 3.0では、このNumeric Separatorsの解説をデータ型とリテラルに追加しています。
また、ビット演算では数値リテラルの桁数が多くなりやすいです。
そのため、演算子のビット演算のセクションをNumeric Separatorsを使って書き直し、図などを入れています。
📝 演算子の章は肥大化しやすいので、今後のバージョンで整理するかもしれません。
ビット演算はユースケースでは利用していないため、ページとして分ける可能性もありそうです。
チートシートのES2021の対応
チートシートにES2021で増えた構文を追加。
含まれなかったES2021の変更点
次のES2021の変更は、現時点のJavaScript Primerでは含まれていません。
JavaScriptのリファレンスを作ることは本書の目的ではないため、
実際にユースケースで利用する可能性が少ないものに関しては取り入れていません。
Promise.any
とAggregateError
WeakRefs
&&=
、||=
、??=
のような論理演算子と代入演算子の組み合わせ詳細はES2021の対応 · Issue #1220 · asciidwango/js-primerを参照してください。
その他の修正
This discussion was created from the release 3.0.0: ECMAScript 2021対応.
Beta Was this translation helpful? Give feedback.
All reactions