Part1: Hello World

海未「ではTypeScriptの開発環境を用意して、実際にプログラムを書いてみましょう」

海未「前回話したようにTypeScriptのコンパイラはNode.js上で動作しますから、npmでインストールすることができます」
ことり「Node.jsの環境のない人は、μ’s2年生と学ぶJavaScript入門 Node.js編、読んでくださいね♪」

$ npm install -g typescript

海未「これでTypeScriptコンパイラが利用できるようになりました。早速コードを書いてみましょう」

海未「これをhello.tsというファイル名で保存して、tscコマンドでコンパイルします」

$ tsc hello.js

海未「すると、hello.jsというファイルが生成されます」

穂乃果「中身、同じだよ?」
海未「今回は元々、JavaScriptでも動くコードでしたから。では別のコードで試してみましょうか」

海未「これが」

海未「こうです!」
ことり「わっ、全然違う」
穂乃果「なんかまたprototypeとかでてきたよ~」
海未「このように、TypeScriptの構文で書かれたスクリプトはtscでJavaScriptのコードに変換されて動作するのです」
穂乃果「じゃあ、出てきたJavaScriptのコードを読む必要はないの?」
海未「結局、Nodeやブラウザなどが解釈するのはJavaScriptのコードですから、デバッグの際にはJavaScriptのコードを読む必要は出てくるでしょう。ただそれも、IDEの進歩によって機会は減りつつありますが」

海未「このように、TypeScriptで書かれたコードをJavaScriptにトランスパイルして、生成されたJavaScriptのコードが既存の実行環境上で動作する、ということになります」
ことり「じゃあ、TypeScript用の実行環境があるわけじゃないんだね」
海未「そうですね。そこが強みと言えるでしょう」
穂乃果「コードも、だいぶすっきりしてるね。ES6のclassと似てるかも」
海未「結局のところ、大規模開発でオブジェクト指向を実践しようとするとクラスベースに落ち着くということです。プロトタイプベースは万人に扱いやすいわけではありませんから」

海未「さきほどのサンプルコードはまだ読める必要はありませんから、次回からはJavaScriptと異なる言語機能を順に見ていきましょう」


LINEで送る
Pocket


返信を残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です