【読書メモ】改訂新版 JavaScript 本格入門
これまでなんとなく書いてやりすごしていた JavaScript を基礎から学習したいと思い、改訂新版 JavaScript 本格入門 を読みました。
改訂新版JavaScript本格入門 ?モダンスタイルによる基礎から現場での応用まで
- 作者: 山田祥寛
- 出版社/メーカー: 技術評論社
- 発売日: 2016/09/30
- メディア: Kindle版
- この商品を含むブログを見る
Amazon のレビューにあるとおり「初心者向け」ではなく、「本格的にやりたい人向けの入門書」といった感じでした。
他の言語をマスターしたり、プログラムの基礎知識ないと難しい部分(メンバーって何?みたいな)もあり、また全部が頭に入ったわけではないですが、最低限おおまかな JS でできることはわかった気がします。
結果、奥が深すぎる...という感想。。
シンボル、プロトタイプ、this、Promise などまだまだ理解しづらい所もあるので、何ヶ月かに読み返して深く理解できるようにしたいです。
DOM など、jQuery でやってきたことは異常に理解ができるので、要は慣れかな、、と思っています。
Storage オブジェクトはぼやっとしか知らなかったのですが、すごい便利そうです。いままで全部 cookie でやってました。
特に概念的に知らなかった/改めて言語化して理解できた箇所を引用します。
3.1 オプジェクトとは (p.111)
オブジェクトには、オブジェクトを初期化するために、オブジェクトと同名のメソッドが用意されています。この初期化メソッドのことをコンストラクターと呼びます。オブジェクト名は、正確にはコンストラクター名です。
生成されたインスタンスは変数に格納され、以降は、その変数をオブジェクトとして扱えるようになります。インスタンスが格納された変数は、インスタンス変数、オブジェクト変数と呼ぶ場合もあります。
4.1 関数とは (p.177)
引数は、関数の挙動を決めるためのパラメータです。呼び出し元から指定された値を受け取るための変数を、カンマ区切りで指定します。仮引数ともいい、関数の内部でのみ参照できます。
戻り値(返り値)は、関数が処理の結果、最終的に呼び出し元に返すための値のことです。通常、関数に末尾にreturn
命令を記述して指定します。関数の途中でreturn
命令を記述した場合、それ以降の処理は実行されないので、要注意です。
5.1 JavaScript におけるオブジェクト指向の特徴 (p.224)
ここまでに見てきたように、JavaScript はれっきとしたオブジェクト指向言語です。しかし、Java や C++、C#といったオブジェクト指向言語とは根本的に異なる点があります。 それは「『インスタンス化/インスタンス』という概念はあるものの、いわゆる『クラス』がなく、『プロトタイプ(ひな形)』という概念だけが存在する」という点です。
プロトタイプとは、「あるオブジェクトの元となるオブジェクト」のこと。JavaScript では、(クラスの代わりに)プロトタイプを利用して、新たなオブジェクトを生成していくことになります。このような性質から、JavaScript のオブジェクト指向は、プロトタイプベースのオブジェクト指向と呼ばれることもあります。