はじめに
こんにちは!Akira(彰)です! 今回は JavaScript Primer - 迷わないための入門書 を読んだ感想を
- 良かったところ
- 学んだこと
- 難しかったこと
に分けて書いていきたいと思います!
良かったところ
ECMAScriptを意識した学習ができる
ECMAScriptを意識して学ぶことで、どの実行環境でも対応できる基本的な知識を学べます。
初歩的な文法も一緒に学べる
本書は「すでに何かしらのプログラミング言語を触ったことがある人向けに書かれています。」とありますが、読んでみると初歩的な文法も"丁寧"に解説されているため1言語、Progateを終えた程度の知識でも理解できる範囲なのかなと感じました。
実際にアプリケーションを作る流れを学べる
本書の後半では前半で学んだことを元に、Ajax通信を扱うアプリ、CLIアプリ、Todoアプリ、を実際に作って学んだことが実際にどういった場面で役立つのかを体験することができます。
学んだこと
基礎文法
他のプログラミング言語で共通するような部分(スコープや演算子)から、JavaScript独自の書き方(Arrow Function等)を網羅的に学びました。
非同期処理
次の処理が完了するまで次の処理ができないという同期的処理の問題を解決するための技術非同期処理について、 PromiseからAsync Function、Promise & Async Functionを合わせた記述方について学びました。
また、非同期処理時の例外処理法についても併せて学ぶことで安全性の高いコードを書く重要性について学ぶことができました。
this
関数定義の方法や状況によって this
の参照先が違うということ、this
使用時の問題(thisを含むメソッドを変数に代入、コールバック関数内でのthis)について何故その問題が起こるのか、どう対処するのがいいのかという対処法について学びました。
情報をモデル化して管理する
直接DOMを更新して管理するコードは情報の状態がDOM上にしか存在しないためHTML要素に情報を全て埋め込む必要があり、操作に対する処理が複雑化しがちです。
この問題に対処するために物の状態や操作方法をクラスとしてモデル化し、管理することで複雑さを一定に保つことができ、管理しやすいということを学びました。
モジュール化することでのリファクタリング
作成したTodoアプリケーションをリファクタリングすることでモジュール化していくとコードの管理や機能追加に強い形にできるということを実際に体験し学びました。
難しかったこと
コールバック関数
コールバックが連続するようなコードはまだ慣れなく処理を追っていくのにに時間がかかります...。
反面、実装を進めるには早めに理解して慣れていきたい部分でもあると感じました。
非同期処理
非同期処理単体ではそこまで苦労しなかったのですが、例外を処理する流れへの理解が浅く(コールバックへの理解が浅いため)苦労しました。
リファクタリング
Todoアプリケーションを実際にリファクタリングしてみてまだ機能切り出しの判断が身についていないと考えています。
しかし、これは数をこなして身に着けていくことでもあると思うのでアウトプットを繰り返し慣れていきたいと思います。
おわりに
学習していたRubyと共通する部分への理解は早かったのですが新しく学ぶことについての理解が難しいなぁと感じました。
しかし、動きを制御できるという楽しさも同時に実感したのでアウトプットを重ねて慣れていきたいと思います。
以上が JavaScript Primer - 迷わないための入門書 を読んだ感想でした!ここまで読んでいただきありがとうございました!