【たいぷすくりぷと】

TypeScript とは?

最終更新:
💡 JavaScriptに「型の安全装置」をつけた言語

JavaScriptに静的な型検査を加えたプログラミング言語。変数や関数の型を手掛かりに、実行前に型の不整合などを見つける。型注釈は実行用のJavaScriptでは取り除かれ、型検査だけですべての不具合を防げるわけではない。

📌 このページのポイント
TypeScript:型でコードを調べる TypeScript JavaScript 変数・関数 配列・オブジェクト 型注釈・型推論 .ts 型を書く 型検査・変換 不整合を指摘 .js 実行用コード エディターの 補完も支援 型注釈は実行時に残らない。入力検証は別に行う
型検査とJavaScriptへの変換のイメージ。エラー時の出力可否は設定による。
ひよこ ひよこ
JavaScriptと何が違うの?
ペンギン先生 ペンギン先生
たとえば引数をnumberと書いた関数に文字列を渡すと、型検査で不整合を指摘できるよ。実行前にコードの間違いを見つける助けになるんだ。
ひよこ ひよこ
型は全部書く必要がある?
ペンギン先生 ペンギン先生
全部ではないよ。たとえばlet count = 42なら、初期値からnumberと推論できる。関数の引数など、必要な場所には型を書いて意図を伝えるんだ。
ひよこ ひよこ
実行中も型を監視してくれるの?
ペンギン先生 ペンギン先生
型注釈はJavaScriptへ変換すると消えるので、実行中の値を自動で検証する仕組みではないよ。外部APIの返答やフォーム入力が期待通りかは、実行時に確かめる必要があるんだ。
ひよこ ひよこ
型エラーがあったらJavaScriptは出力されない?
ペンギン先生 ペンギン先生
tscは既定ではエラーがあっても出力することがある。noEmitOnErrorを指定すれば、エラー時の出力を止められるよ。型検査と出力の設定は区別しておこう。
ひよこ ひよこ
使えばバグはなくなる?
ペンギン先生 ペンギン先生
型に関する不整合は減らせるけれど、計算式や仕様の間違いまでは防げない。anyでは型検査が弱くなり、strict設定でも検査範囲が変わる。テストや入力の検証と組み合わせて使うんだ。
ペンギン
まとめ:ざっくりこれだけ覚えればOK!
「TypeScript」って出てきたら「型付きのJavaScript」と思えればだいたいOK!
📖 おまけ:英語の意味
「TypeScript」 = タイプスクリプト
💬 Type(型)+ Script(スクリプト)。JavaScriptに型を足した言語だよ

参考資料

← 用語集にもどる