見出し画像

TypeChallengesで型を学ぶ。

はじめに

こんにちは。ラクスフロントエンドチームの伊藤です。

みなさんは TypeScript 書いていますか??
私は書いていませんでした。正確には、書いているようでちゃんと書けていなかったと感じています。
もちろん超初歩的な構文は書いていました。型注釈やらUnionやらですね。
でも、<T>(ジェネリクス)infer, extendsは正直何をやってるかよくわかっていませんでした。

このままじゃマズい と思い、今までやっていなかったTypeChallengesをやろうと思い立ちました。
周りにもTypeChallenges未経験者が何人かいたので、せっかくなら勉強会として開催することにしました。

TypeChallengesについて

ご存知の方も多いかと思いますが、簡単に言うとGit HubにあるTypeScriptの型に特化した問題集です。
初級〜最上級まであり、慣れていないと初級から難しく感じると思います。慣れてきても中級はかなり難しいものが混ざっていたりします。
こちらから誰でも無料で解くことができるので、ぜひ挑戦してみてください。

勉強会の開催方法

今回は時間が限られていたので、mosha<TC>を利用させていただきました。
一部の問題にはヒントや解説もあり、詰まった時に手掛かりがあって解きやすかったです。

そのほかの勉強会の形式は以下の通りです。

  • 会議室に集まるオフライン形式

  • 全8回開催

  • 5問(初級編は6問)を45分間、各自で解く

  • 残りの15分は議論(感想や質問、実務でどのように使えるかなどを話す)

全8名で開催しました。

スプレッドシートに各自感想や気になったことを書いてもらいました。
時間が足りないのでたまに空欄があります。(解いてはいるが、特に書くことがなかった問題)

第一回開催の様子です↓

実際のスプレッドシート

感想など

予想通り、苦戦しました。

特にinferの初出では、ほぼ全員苦戦していました。

inferに苦戦している様子

同じように同じところで苦戦しているメンバーもいたことで、一人でやっているよりやっていこうという気持ちが強くなったと思います。

参加者の多くが「勉強になった」や「複雑な型への抵抗感が減った」などポジティブな感想で、開催して良かったです。

また、勉強会きっかけで学んだinferについて、新卒1年目のメンバーがブログを書いてくれてたので紹介します。

今後も勉強会は開催予定(内容未定)ですので、開催後にまた記事が上がるかもしれません。

次回をお楽しみに!



採用情報

https://career-recruit.rakus.co.jp/engineer_jobs/frontend_tokyo/

https://career-recruit.rakus.co.jp/career_engineer/

イベント情報

https://rakus.connpass.com/

この記事が気に入ったらサポートをしてみませんか?