1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

【初心者向け】TypeScriptって何?JavaScriptの「完璧主義な相棒」

1
Posted at

Web開発の勉強をしていると、必ずと言っていいほど耳にする「TypeScript(タイプスクリプト)」。私もたまたま知って気になった。
「JavaScriptと何が違うの?」「また新しく言語を覚えなきゃいけないの?」と不安に思う方も多いはず。

結論から言うと、TypeScriptはJavaScriptの敵ではなく、「ミスを未然に防いでくれる、完璧主義な相棒」です。
Tech業界初心者に向けて、その魅力をざっくりと解説します!

  1. そもそもTypeScriptとは?
    一言でいえば、「JavaScriptに『型(ルール)』を追加した進化版」です。

JavaScriptは非常に柔軟で、どんなデータ(文字や数字など)でもポンポンと箱(変数)に入れられる自由な言語です。しかし、その自由さゆえに「数字を入れるはずの箱に、間違えて文字を入れてしまった」というミスが起きやすく、実際に動かしてみるまでエラーに気づかないという弱点がありました。

そこを補うためにMicrosoftが開発したのがTypeScriptです。

  1. TypeScriptの最大の魅力:「実行前の赤ペンチェック」
    TypeScriptの最大の特徴は、コードを書いている最中に「そこ、間違ってますよ!」とリアルタイムで教えてくれることです。

JavaScriptの場合:
コードを書き終えて、いざブラウザで動かした瞬間に「エラーです!」と画面が真っ白になる。(事後報告で絶望する)

TypeScriptの場合:
コードを書いている途中で「ここ、数字じゃなくて文字が入ってますけど大丈夫ですか?」と赤い波線で警告してくれる。(未然に防げる)

まるで、凄腕の編集者や赤ペン先生が常に隣に座って、タイポや矛盾を指摘してくれているような圧倒的な安心感があります。

  1. 「エディタの補完(サジェスト)」が神レベル
    TypeScriptを使うと、VSCodeなどのエディタがめちゃくちゃ賢くなります。

「この変数にはこういうデータが入っているはずだ」というルール(型)が明確に定義されているため、「次に打ちたいコードはこれですか?」という予測変換がズバズバ当たるようになります。

結果的に、タイピングの量が減り、スペルミスも無くなるため、開発スピードが格段に上がります。

  1. 最終的には「JavaScript」に変身して働く
    「TypeScriptを導入したら、今までのJavaScriptの知識は無駄になるの?」と心配する必要はありません。

TypeScriptで書かれたコードは、そのままでは動きません。最終的に普通のJavaScriptに翻訳(コンパイル)されてから動くという仕組みになっています。

つまり、ブラウザから見れば、結局はただのJavaScriptとして動いているのです。今までに学んだJavaScriptの知識は、そのまま100%活かすことができます。

おわりに:最初は面倒、でも後から「神」になる
TypeScriptは、最初に「この箱には数字しか入れません!」「このデータはこういう形をしています!」というルール(型)を書く手間が増えるため、最初は「面倒くさいな」と感じるかもしれません。

しかし、プログラムが大きくなればなるほど、そのルールが「過去の自分やチームメンバーを救う命綱」になります。現代のWeb開発でTypeScriptが標準(スタンダード)になっているのは、その圧倒的な安心感があるからです。

JavaScriptに少し慣れてきたら、ぜひこの「完璧主義な相棒」を迎え入れてみてください!開発の世界がパッと明るくなりますよ。

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?