第5章. モダンJavaScriptの構文と機能
この作品はAIを使って翻訳されている。ご意見、ご感想をお待ちしている:translation-feedback@oreilly.com
JavaScriptは何十年も前から存在し、 何度も改訂を繰り返してきた。本書では、最新のJavaScriptコンテキストにおけるデザインパターンを探求し、議論するすべての例で最新のES2015+構文を使用する。この章では、ES2015+のJavaScriptの機能と、現在のJavaScriptの文脈におけるデザインパターンの議論を進めるために不可欠な構文について説明する。
注
ES2015でJavaScriptの構文に 、パターンに関する議論に特に関連するいくつかの基本的な変更が導入された。これらはBabelJS ES2015 ガイドでよくカバーされている。
本書は最新のJavaScript構文に依拠している。TypeScriptについても興味があるかもしれない。TypeScriptはJavaScriptの静的型付けされたスーパーセットであり、JavaScriptにはない言語機能をいくつか提供している。これらの機能には、強い型付け、インタフェース、列挙型、高度な型推論などがあり、デザインパターンにも影響を与えることができる。TypeScriptとその利点についてより詳しく学ぶには、Boris Cherny著のProgramming TypeScriptなどのO'Reillyの書籍をチェックすることを検討してほしい。
アプリケーションのデカップリングの重要性
モジュールJavaScriptでは、アプリケーションを論理的に モジュールと呼ばれる小片に分割することができる。モジュールは他のモジュールにインポートすることができ、そのモジュールはさらに他のモジュールにインポートすることができる。このように、アプリケーションは多くのネストしたモジュールで構成することができる。
スケーラブルJavaScriptの世界では、 、アプリケーションがモジュール化されていると言うとき、それはモジュールに格納された、高度に分離された機能の異なるピースのセットで構成されていることを意味することが多い。疎結合は、可能な限り依存関係を取り除くことで、アプリの保守性を容易にする。効率的に実装されていれば、システムの一部分の変更が他の部分にどのような影響を与えるかを確認することができる。
より伝統的なプログラミング言語とは異なり、 ES5(Standard ECMA-262 5.1版)までのJavaScriptの旧版は、コードモジュールをきれいに整理してインポートする手段を開発者に提供していなかった。これは、より整理されたJavaScriptアプリケーションの必要性が明らかになった近年まで、あまり考慮する必要のなかった仕様の懸念事項の1つであった。AMD(Asynchronous Module Definition)とCommonJSモジュールは、JavaScriptの初期バージョンでアプリケーションを分離するための最も一般的なパターンだった。
これらの問題に対するネイティブな解決策は、 ES6またはES2015で登場した。TC39は、ECMAScriptとその将来の反復の構文とセマンティクスの定義を担当する標準化団体であり、大規模な開発におけるJavaScriptの使用の進化を注視しており、よりモジュール化されたJSを書くためのより良い言語機能の必要性を痛感していた。
JavaScriptでモジュールを作成する構文は、ES2015のECMAScriptモジュールのリリースで開発され、標準化された。今日、すべての主要なブラウザがJavaScriptモジュールをサポートしている。モジュールは、JavaScriptで現代のモジュール型プログラミングを実装するための、事実上の手法となっている。このセクションでは、ES2015+のモジュールのシンタックスを使用したコードサンプルについて説明する。 ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access