TypeScript を動かす方法
今日のタブ記事
TypeScript を動かす方法 4 選 | DevelopersIO
TypeScript、普段使っているけど AltJS の一つだし TS を動かすみたいなことに意識を向けていなかったなと思った。
たまに TS Playground を使うんだけど、それくらいの知識しかない状態で読んだ。
この記事にある方法は以下のとおり
- Use Playground
- Install local
- Use JupyterLab
- Use deno
Use Playground
これは上述した TS Playground のこと。正直何も考えずに「この型ってどうなるんだ?」とかやるのにはこれが圧倒的に使いやすいし便利だと思う。
Install local
普段リポジトリを自分のローカルで操作しているものの、いざ TS だけ動かすぞとなった場合どうすればいいのかよく分からなかったがこれで理解。
npm install -D typescript
で tsc も入る(tsc って TypeScript Compiler のことだよね?たぶん)
関係ないけど普段仕事でも趣味開発でも yarn を使っているので npm で devDependencies に install するときはnpm install --save-dev typescript
ってやらなきゃいけないと思ってたんだけど、-D
だけでいけるらしい。
./node_modules/.bin/tsc --init
で tsc の初期化をする。package.json の scripts があるので普段 node_modules 内の bin を叩くみたいなことを全然しないから、こういうのは頭からすっぽり抜ける機会が多いのでこういう雑なメモにぴったりだ。
.node_modules/.bin/tsc [ファイル].ts
でコンパイルされて JS ファイルになり、それをnode [ファイル].js
で実行する、という流れ。
これが面倒な場合はts-node
を使うと.node_modules/.bin/ts-node [ファイル].ts
で実行できるらしい(記事内では node コマンドで JS ファイルを指定しているけどたぶん tsc の部分と混同している……?)
他の記事(ts-node で TypeScript + node をサクッと実行する - Qiita)も見たんだけど、ts-node でもtsc --init
で tsconfig.json を生成しておくらしい。
Use JupyterLab
前職で Jupyter Notebook をちょっとだけ触ったことがあるんだけど、それとほぼ同等のものと見てよさそう。
てっきり Python のライブラリかと思ってたんだけど、Python 製なだけで他の言語でも使えるのを知らなかった……。
対話型の実行環境ということで使えれば便利そうだけど、これのために Python の環境を整えるのもまた大変そう。データ分析を行うときによく使われるらしい。
Use Deno
Deno、Node.js の作者が作ってるやつという認識しかなかった……。
Deno は TypeScript の実行環境で、Deno をインストールするとそのまま TypeScript が動くらしい。すごい。
あと普通に homebrew でインストールできるのが意外というか拍子抜けというか、簡単で便利でいい。
実際にインストールして使ってみた。
まずbrew install deno
で普通にインストール。
めちゃくちゃ雑な TS を書いて、
type Hoge = 'hoge' | 'fuga'
const test: Hoge = 'hoge'
console.log(test)
deno run test.ts
で実行。
そうすると
Check file:///Users/tagucch/dev/test.ts
hoge
こんな感じで普通に実行された。もう Deno でええやん感がすごい。
引き続きメモ書いてる
「メモを書く」ということをもっと習慣化したいなと思ってはいるものの、前よりはメモを取る頻度が増えた。
MTG 中に忘れそうな細かいこととかをとりあえずササッとメモっているのがいまのところ一番効果が出ている。
Apple 純正のメモアプリを使っているのだけど、機能ごととかに一応メモを分けてはいるものの、「とりあえず困ったらここに書く」みたいななんでもあり Workspace を 1 つ作っておいて、速攻メモしなきゃと思ったものをとりあえずそこに書いている。
たぶんこれが本来のメモの使い方だよな……。なぜ今まで自分はこれをやってこなかったのか。これをやるだけで忘れたけど思い出せるものはたくさんあるし、いちいち聞き直したり質問したりする回数も減るのでシンプルに自分の生産性向上に役立つし、他の人の時間を取ることも減るし、そもそも他の人への質問などはちょっと気張らないといけなかったりするし、これはどんどん続けていかないとなと思うなどした。
メモは大事だ……。