サーバレスアプリケーションの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などのライブラリをインストールするのに使います。

Node.jsのダウンロード 実行結果

Javascriptの実行

とりあえずJavascriptを動かしてみます。あっさりと動きました。nodeコマンドで指定したJavascriptのファイルを実行できます。TypeScriptも最終的にnodeよって実行されます。

Javascript(Node.js)の実行

TypeScriptの環境準備

npm(Node package manager)を用いて、npm install -g typescriptを実行します。これによりTypeScriptのコンパイルツール(tsc)が利用可能になります。-gはグローバルのオプションでどこからでも使えるようにします。

TypeScriptのインストール

👉 グローバルオプション
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"));

TypeScriptの実行

TypeScriptとJavascriptのコード

おわり。ここまで順調!