typescriptを学ぶにあたって事前知識を調べてきたのでメモ代わりに残しておきます。
typescriptとは
マイクロソフト社が開発したjavascriptを拡張して作られた静的型付け言語です。
静的型付けとは?
typescriptは静的型付け言語と言われていますが、javascriptは動的型付け言語と言われています。
動的型付けと静的型付けとは、何が違うのかというと
動的型付けとはプログラム実行時に変数や関数に勝手(いい感じ)に型を当てはめてくれることをいい、
静的型付けとは実装者が予め、変数や関数に型を指定することをいいます。
typescriptの動き
typescriptはブラウザで実行するときtypescriptで書いたものをjavascriptに変換して実行されます。
なぜJavaScriptに型を追加する必要があるのか?
型はコードの品質や読みやすさを保証してくれます。
大規模なプロジェクトになった時や、新しく入ってくる人たちにとってもメリットがあります。
メリット
型があるから開発スピードが早い,リファクタが早い
型があるとエラーが確認できるのと、その変数、関数にどの型が入るかがわかるので開発スピードが上がります。
型を利用するかどうかは任意
typescriptを導入したからといって型を絶対使わなくてはいけないということはない。
型を利用するかどうかは任意なので.jsのファイルを.tsに書き換えてコンパイルしても有効な.jsファイルを出力します。
なので既存のjavascriptをtypescriptに載せ替える時なども一気にtypescript用に書き換えず、少しずつ対応していくことも可能。
型推論
typescriptには型推論というものがあります。
typescriptを調べていると型推論というワードをよく聞くのですが、型推論とは
typescriptがソースコードを解析し、コードの流れから変数や関数がどの型なのかを推測してくれる仕組みのことみたいです。
例
var sample = 123;
sample = 'ハロー'; //エラーstringをnumberに代入できません
これは最初に変数sampleを宣言したときにnumber型で値を代入しているのに対して
2行目でstring型を代入しているため型が違うよと怒られています。
ちなみに型推論でエラーは吐かれますが、typescriptのコンパイルでは型チェックエラーが起きても有効なjavascriptが出力されます。
型指定
型推論の結果が正しくない場合や正確でない場合は明示的に型指定することで
コンパイラが理解するのを助けたり、他の開発者のドキュメント代わりになったりとメリットがあります。
typescriptでは以下のように型指定ができます。
var sample: number = 123;
// 型が一致しない場合はエラーになります。
var sample: number = 'ハロー'; // エラー
まとめ
こんな感じでtypescriptのメリットが伝わった?かと思います。
まだ自分もtypescriptにガッツリ触れていないので今後も引き続き触っていきたいと思います。