工業高校生、はじめてのTypeScript挑戦記 ~爆死から学んだこと~
高校生がなんとなくTypeScriptに手を出して爆死しかけた話【#contest2025ts】
どうも。工業高校に通う高校3年生です。
普段はC言語やら電気回路やらやってるんですけど、なんとなく「Webアプリ作ってみたいな〜」って思い始めて、Reactとかいうのに挑戦してみました。
で、選んだのが「TypeScript」ってやつ。
正直、JavaScriptすらよくわかってないのに、かっこよさそうって理由でいきなりTypeScriptを選んでしまいまして……まあ、爆死しました。
最初にぶち当たった謎のコード
YouTubeで「React カウンター 作り方」みたいな動画を見ながら真似してたら、いきなりこんなんが出てきました。
const [count, setCount] = useState(0);
「えっ、ってなに?HTMLタグじゃないの?」って思って混乱。
ググったら「これは型を指定してるんだよ〜」って説明が出てきて、
「あー、C言語のintみたいなやつか!」とやっと理解しました。
でも正直、最初は「数字入れてるんだから自動でわかってよ!」って思ってました(笑)
JavaScriptもよくわかってないのにTypeScriptって……
ほんと無謀だったなーって思います。
TypeScriptのことをよく知らなかったし、JavaScriptのletとかconstの違いもよくわかってなかったんで、
とにかくエラーだらけで何がなんだか…。
「any」って型があって、最初は全部anyにしちゃってました。
YouTubeの「初心者がany多用すると詰む」って動画見て「あ、やっぱだめか…」って気づくまで、逃げまくってましたね。
小さな成功体験!設定ファイルをチェックする関数を書いてみた
YouTubeで「TypeScript 型ガード」って検索して、
「なんかこんな書き方もあるのか…」って思って真似して書いたのがこれ。
type Config = {
projectName: string;
version: number;
debug: boolean
};
function loadConfig(json: any): Config {
if (
typeof json.projectName === ‘string’ &&
typeof json.version === ‘number’ &&
typeof json.debug === ‘boolean’
) {
return json;
} else {
throw new Error(‘設定ファイルの形式が違います’)
}
めちゃ強引だけど、動いたときはめっちゃテンション上がりました。
「any使うのは負けかな〜」って思ったけど、まあ初心者だから許してほしいです(笑)
TypeScriptやってみて感じたこと
• エラーがめっちゃうるさいけど、その分ミスに気づきやすい
• 型があると「自分が何書いてるか」を意識せざるを得なくなる
• VS Codeの補完が神すぎて助かる(なしじゃ無理)
C言語は「間違ってても実行してみないとわからない」感じだったけど、
TypeScriptは「書いてる途中で怒ってくれる」から、初心者の自分にはありがたかったです。
まとめ
最初は「なんじゃこりゃ…」状態でした。
でもYouTubeとかで調べたりして、ちょっとずつわかってくると、コードが動いたときの嬉しさはバツグン。
これからも少しずつ触っていって、何か簡単なWebアプリを作りたいなと思ってます!
⸻
最後まで読んでくれてありがとうございます!
Discussion