サーバレスアプリケーションのCloudflare workersはTypeScriptをサポートしているらしい。まずは試しにTypeScriptをローカルで実行できるようにしてみたい。
JavascriptとTypeScript
TypeScriptをローカルで動かせるようにしたい。それすなわちJavascriptをローカルで動かせるようにしたいとほぼほぼ同義。TypeScriptは「スーパーセット」であり、最終的にJavaScriptへと「変換」される言語です。TypeScriptはtsc
コマンドでコンパイルしてJavaScriptに変換されます。そのため、まずはローカルでJavascriptを動かせるようにすることが必要です。
👉スーパーセット(superset)とは
ある言語や機能を「完全に含みつつ、それに追加要素を加えたもの」です。
つまりTypeScriptは機能上Javascriptを包括していて、Javascriptで動くコードは、TypeScriptでも動きます。
Node.jsのインストール
ローカルでJavascriptを動かすためにはNode.jsが必要です。通常Javascriptはブラウザ(クライアント)で動くため、Node.jsはサーバサイドのJavasciprtと表現されることもあります。
Node.jsの公式サイトからダウンロード。実行するコマンド用意してくれていてすごく便利です。そのままペーストですんなりインストールできました。nvmはNode Version Managerで、複数の Node.js バージョンを簡単に切り替えるツールです。npmはNode Package Managerで、Node.js のパッケージ管理ツールで、TypeScriptなどのライブラリをインストールするのに使います。
Javascriptの実行
とりあえずJavascriptを動かしてみます。あっさりと動きました。node
コマンドで指定したJavascriptのファイルを実行できます。TypeScriptも最終的にnodeよって実行されます。
TypeScriptの環境準備
npm(Node package manager)を用いて、npm install -g typescript
を実行します。これによりTypeScriptのコンパイルツール(tsc)が利用可能になります。-g
はグローバルのオプションでどこからでも使えるようにします。
👉 グローバルオプション
npm install -g typescript
これはグローバルにインストールする方法です。どこからでもTypeScriptを実行できるようになりますが、これはシステム全体に影響を与えるため、プロジェクトごとに異なるバージョンを使いたい場合には適していません。
npm install typescript
TypeScriptはカレントディレクトリの `node_modules` 配下にインストールされ、プロジェクト単位で管理できるようになります。この方法であれば、開発環境を個々のプロジェクトに対して構築でき、依存関係の明示やメンテナンスがしやすくなります。
TypeScriptの実行
.ts
の拡張性をつけてTypeScriptのファイルを作成します。その後tsc
コマンドで.js
ファイルにコンパイルして、作成された.jsファイルをnode
コマンドで実行します。
👉グローバル(-g)でインストールした場合
tsc test.ts
👉ローカルのTypeScriptを用いる場合
npx tsc test.ts
以下のようにコードを作成して、生成された.jsと.tsを比べてみました。TypeScriptの機能である型指定がjavascriptでは削除された形に直されています。
function greet(name: string): string {
return "Hello, " + name;
}
console.log(greet("world"));