📖

TypeScript:ブルーベリー本写経してみたけど、力ついた?

2023/06/11に公開

はじめに

TypeScriptの理解深めねばと思い、ブルーベリー本を購入。
ただ読んでいくのもな〜と思ったので、写経してみることにしました。

結論

理解は深まる。初めてTypeScriptに触れる方は写経も1つの方法になりそう。

良かったこと
  • 進んでいる感覚があるのが精神的には良かった
  • TypeScriptについて一定話せるようにはなった気がする

悪かったこと

  • 分かっていたけど効率は悪い

進め方 と 期間

進め方

  • ブルーベリー本に書かれているコードを写経
  • 進めたところまでの要約をcommitメッセージに追加

都度、実行してログ出してみたり、確認を挟みつつ、ひたすら進めました。

期間

対象期間 ページ数 commit数
2023/04/25~2023/6/4 387ページ 61commit

平日毎日がなかなか難しかったので、主に土日に20ページずつぐらい進めていました。

※「ブルーベリー本」は「プロを目指す人のためのTypeScript入門」を指しています
https://www.amazon.co.jp/プロを目指す人のためのTypeScript入門-安全なコードの書き方から高度な型の使い方まで-Software-Design-plus/dp/4297127474

良かったこと

  • 進んでいる感覚があるのが精神的には良かった

不具合調査や開発で詰まったとき、
今日1日使ったのに何も進んでないのでは、、? というときありますよね(あります)

(気持ち的にはこんな感じ)

こういう時にも、「今日ブルーベリー本進めたから何も進んでないことはない」 という
メンタルになるので、ちょっとだけ心穏やかになります。
これは写経でなくても獲得できるものだと思うので、引き続き何か継続できればと思ったり。

  • TypeScriptについて一定話せるようにはなった気がする

実務で使ってはいたのですが、これまでは何となくの理解だったなと、、。
今はそれぞれ理由も含めて一定は理解して話せるようになったのかなと思います。
やはり手を動かすことは大きいです。

例えばany型について
これまではany=型何でも許容しちゃうからダメぐらいだったのが
なぜダメなのか、利用ケースはあるのかなど理解できたかなと
↓結局悪なのかどうか、自分なりにまとめてみたので見てみていただければと思います。
https://zenn.dev/makky1117/articles/8158113779d18c

その他、特に非同期、Promise型も今回を通して理解が深まったなと。
このあたりは、また言語化できればと思います。

悪かったこと

  • 分かっていたけど効率性は悪い

進める前から分かっていたことではありますが、勉強という意味での効率性は悪いなと思います。
既に知っていることや実務で出てくることはないので頭の片隅に、、というレベルの部分にも
頻繁に使うようなものと同じだけの時間をかける必要があったり。
もうこのページとばしてしまうか、、 という悪魔のささやきが何度も聞こえてきました(危なかった)

まとめ

興味本位+半分趣味のような感じで始めましたが、楽しかったです。

初めて取り扱う言語に対して、
基本のきを理解のためにやってみるというのは良さそうかなと思いますが
効率的な面で、個人的には1冊まるごと写経することはもうなさそうです

次はブルーベリー本に書いていたことを思い出しながら
TypeScript使って自分で動くものを作ることで理解を深めていけたらなと思います

参考

進め方含め参考にさせていただきました、ありがとうございました。
https://zenn.dev/shava2c/articles/6fd5ed3e31fb82

LiB Consulting

Discussion