TypeScriptは、コードを動かす前に、文字や数値などの値が想定どおりに扱われているか確認しやすくするプログラミング言語です。この値の種類を表す仕組みを型と呼びます。
動かす前にコードを確認する
TypeScriptはJavaScriptをもとに作られているため、JavaScriptの書き方を基本として使えます。必要な場所には、扱う値が文字なのか数値なのかといった型をコードへ書き加えられます。この記述が型注釈です。
型を毎回書かなくても、代入された値などからTypeScriptが種類を判断できる場合があります。これを型推論と呼びます。
関数へ想定と違う種類の値を渡した場合や、データに存在しない名前を参照した場合などに、コードを動かす前に問題を見つけられることがあります。この確認方法が静的型検査です。
TypeScriptのコードは、ブラウザで動かす前にJavaScriptへ変換します。このとき型の情報は取り除かれるため、ブラウザで実際に動くのはJavaScriptです。型検査は、アプリが動いている最中ではなく、その前の段階で行われます。
型検査だけで動作確認が終わるわけではない
TypeScriptで分かるのは、主にコードの構造や、値の種類に関する誤りです。
カメラが端末で許可されるか、通信が成功するか、画面が使いやすいか、画像が意図どおりに見えるかまでは、型検査だけでは分かりません。実行時に起きる問題は、自動テストやブラウザでの動作確認を分けて行う必要があります。
ViteはTypeScriptのファイルをJavaScriptへ変換できますが、Viteの変換処理そのものは型検査を行いません。型の誤りだけを調べ、JavaScriptのファイルは出力しないtsc --noEmitなどを、ビルドとは別に実行します。
使ったアプリ
- タイムスキャンカメラ — カメラ、画面、画像処理などのコード
- Chrono Sculpture — カメラ、画像処理、3D表示などのコード