JavaScript学習者なら1度は目にしたことがあるだろう、JS学習の技術書JSprimer (https://jsprimer.net/) の感想・レビューします。
JSをこれから勉強しようと思っている人に参考になればと思います。
まず最初に結論ですが、JSを使うなら、1度は読むことをお勧めします。
JSは長い歴史の進化の中で、後方互換性を慎重にしているので、複雑な仕様になっています。JSprimerでは、背景から現在への変遷とともに進化してきたJSの本質的な部分を体系的に学べます!
現代のJSの様々なフレームワークを扱う上でも、これらの知識があれば、理解が深まります。
無料で公開もされているので、是非一度見て下さいね!
https://jsprimer.net/
ここれ
良かったところ
- 豊富なコンテンツ: 基本文法から実践的なアプリケーション開発まで幅広いトピックをカバーしています。これにより、一貫した学習体験が得られます。
- わかりやすい説明: 各トピックには、具体的なコード例や図解が用意されており、理解しやすい説明がされています。また、各セクションは短く、一つずつ学習しやすい構成になっています。
- 実践的な演習: JSprimerでは、実際に動作するコードを書いて試すことができます。これにより、理解を深めるとともに、実践的なスキルを習得できます。
- 歴史・背景からの説明: JSが後方互換性が慎重にしているために複雑な仕様になっていたり、暗黙的な型変換など、、謎な挙動になったり、という面に対しての説明もあり、確実に理解が深まります。
悪かったところ
JSprimerは非常に優れた学習リソースですが、以下のような点で改善の余地があると感じました。
- 初学者には難しい、、、プログラミングやオブジェクト指向などを全く知らない初学者にとっては、JS特有の事象なのかの判断がつかない部分が多く、理解が難しいと思います。また、サンプルコードも結構難しく、理解できないところもあるかもしれません。。
まぁ一度目は、完璧な理解を求めずに、
中級者になって1度返ってくるくらいで、全然OKと思います!
学べること
- JavaScriptの基本文法: 変数、関数、制御構文、オブジェクト、配列などの基本的な要素を理解できます。
- 非同期処理について、Promiseやasync/awaitを使った非同期処理の理解と実装方法を学べます。
- JavaScriptのモジュールシステムについて理解し、実践的なコードの構成方法を学べます。
- DOM操作について、ウェブページ上の要素を選択し、属性やテキストを変更する方法を習得しました。また、イベントリスナを追加してユーザー操作に対応する方法も学べます。
- デバッグについて、コンソールを使ってコードのデバッグ方法を学び、エラーの原因を特定する方法を身に付けます。
難しいところ
- クロージャーやプロトタイプ継承などの高度なトピックは、理解が難しいです。。理解できなければ、他記事などで理解を深めるのが吉です。
- 〇〇オブジェクトの種類が多くて、初めは難しかったです。例えば下記のようなものがあります。
-
プロトタイプオブジェクト
例)Object.prototype.toStringのようにObject.prototypeオブジェクトが持っているメソッドのこと。
説明)
プロトタイプオブジェクトは、特定のコンストラクタ関数に関連付けられたオブジェクトで、そのコンストラクタで生成されたインスタンスにメソッドやプロパティを提供する。
・Objectのインスタンスは、Object.prototypeオブジェクトのメソッドを継承する。
・インスタンスメソッドで同名のメソッドが定義されると、上書きされる。 -
インスタンスオブジェクト
例)const myObject = new Object();
説明)
・インスタンスオブジェクトは、コンストラクタ関数を用いて生成される個別のオブジェクトです。
・インスタンスは、関連するプロトタイプオブジェクトからメソッドとプロパティを継承します。 -
ビルトインオブジェクト
例)Array, String, Number, Date, Math, RegExpなど。
説明)
・ビルトインオブジェクトは、JavaScriptエンジンに組み込まれているオブジェクトで、言語の一部として提供される機能を利用できるようにするものです。
・これらのオブジェクトは、標準的なメソッドやプロパティを提供し、プログラムの実行時に利用できます。
-
JSは、jQueryやReact、Vue.jsなどのライブラリが非常に人気で、
生のJSを書かなくても事足りることが多いかもしれませんが、
JSの本質を勉強することで、確実に実力がアップします!
是非一度見てみて下さいね〜🍞