見出し画像

#014 TypeScript(1):概要


TypeScriptを簡易に説明

TypeScriptは、簡単に言うとJavaScriptというフロント側で、広く使われているプログラミング言語を基にして、より使いやすく、ミスを防ぎやすくした言語です。

JavaScriptの課題

JavaScriptは非常に人気のある言語ですが、いくつかの課題もあります。

JavaScriptの課題

😒タイプの曖昧さ

JavaScriptでは変数の種類(数字や文字列)を明確に指定する必要がありません。これは便利ですが、解釈の違いから問題が生じることもあります。

現実世界で例える
料理で「大さじ1」と書いてあるが、どの大さじを使うか指定がない状態。人によって解釈が違うかもしれません。

😒ブラウザの違い

同じJavaScriptコードでも、使用するブラウザ(Edge、Chrome、Firefoxなど)によって動作が異なることがあります。

現実世界で例える
同じレシピを使っても、オーブンの種類によって焼き上がりが違うようなものです。

😒柔軟すぎる文法

JavaScriptは書き方に自由度がありますが、これが間違いを見つけにくくする原因にもなります。

現実世界で例える
文法が緩い言語で手紙を書くようなもの。伝わりやすい反面、細かいミスに気づきにくくなります。

😒非同期処理の複雑さ

JavaScriptでは複数の処理を同時に行うことができますが、その書き方が複雑になることがあります。

現実世界で例える
料理で複数の作業を同時進行で行う場合、レシピの手順が複雑になるようなものです。

TypeScriptを使う利点

TypeScriptを使用することで、JavaScriptの課題であった、
タイプの曖昧さを改善できます。
料理を作るとき、レシピに「適量の塩」と書いてあったら、どのくらい入れればいいか迷うことがありますよね。でも、「小さじ1/2の塩」と具体的に書いてあれば、失敗する確率が下がります。

TypeScriptは、タイプ(型)を「具体的に指定する」ことができる言語なんです。

型を具体的に指定する

=== 簡易説明版 ===

😊データの種類を明確にできる

「この変数には数字しか入れません」とか「この関数は文字列を返します」といった具合に、はっきり指定できます。

😊間違いを早く見つけられる

コードを書いている最中に、「ここで間違えてるよ」と教えてくれます。

😊便利な機能がたくさんある

コードを書くのを助けてくれる機能がたくさんあります。

=== 詳細説明版 ===

📚静的型付け

TypeScriptでは、変数や関数の型(例:数値、文字列)を明確に指定できます。これにより、多くのエラーを事前に発見し、修正できます。

現実世界で例える
料理で使う道具を事前に決めておくようなもの。「包丁で切る」と明確にすることで、フォークで切ろうとするような間違いを防げます。

📚コード補完

型情報があることで、開発環境が賢くなり、コードを書く途中で適切な候補を提示してくれます。これにより、開発効率が大幅に向上します。

現実世界で例える
料理のレシピを書いているときに、次に使う可能性の高い材料や手順を自動で提案してくれるようなものです。

📚大規模開発に適する

型情報やインターフェースの定義により、大規模なプロジェクトでもコードの構造を明確に保つことができます。これにより、チーム開発や長期的なメンテナンスが容易になります。

現実世界で例える
大きな建物の設計図のように、全体の構造が明確になるので、多くの人が協力して作業しやすくなります。

📚JavaScriptとの互換性

TypeScriptは最終的にJavaScriptにコンパイル(変換)されます。そのため、既存のJavaScriptプロジェクトに段階的に導入することができ、JavaScriptの豊富なライブラリやフレームワークもそのまま使用できます。

トランスパイルは翻訳みたいなイメージ

トランスパイルとは、ある言語で書かれたコードを、別の言語のコードに変換すること。

現実世界で例える
新しい調理器具を使いつつ、今までの料理のレシピもそのまま活用できるようなものです。

終わりに

少し長くなったので、ここで一旦お話をクローズさせて頂きます。
自分自身の学習記録帳のため、乱雑な文章になっている可能性があります。
申し訳ございません。

最後までお読みいただき、ありがとうございます。
私も皆さんのnoteを拝見させて頂いて、多くの気づきを得ています。
本当に感謝🙏です。
今後ともよろしくお願いします。


いいなと思ったら応援しよう!