技術はあとからついてくる。

技術はあとからついてくる。

就活開始の半年前にエンジニアに目覚めた人

5分でTypeScriptしようぜ

typescript JSの動的型付けをコンパイル時に許容しないAltJSの代表格であるTypeScript。
前々から気になっており、時間ができたのでさわってみました。
TypeScirptさわったことあるよ!って5分で言える記事を書いてみました。

1. ざっくり概要 (1分)

公式HP: TypeScript - JavaScript that scales
Playground: Playground - TypeScript

2. 導入 (1分)

動きだけみたい人はPlaygroundでもいいと思います

% mkdir typescript_learn && cd $_
% sudo npm install -g typescript

/usr/local/bin/tsserver -> /usr/local/lib/node_modules/typescript/bin/tsserver
/usr/local/bin/tsc -> /usr/local/lib/node_modules/typescript/bin/tsc
+ typescript@3.2.1
added 1 package from 1 contributor in 10.937s


   ╭───────────────────────────────────────────────────────────────╮
   │                                                               │
   │       New major version of npm available! 5.6.0 → 6.1.0       │
   │   Changelog: https://github.com/npm/cli/releases/tag/v6.1.0   │
   │               Run npm install -g npm to update!               │
   │                                                               │
   ╰───────────────────────────────────────────────────────────────╯

3. コンパイルから実行まで(3分)

3-1. main.tsを作成

拡張子は.tsが一般的だそうです

% pwd
~/typescript_learn
% touch main.ts

3-2. main.tsをいじる

TypeScriptの醍醐味であるclassを書いてみる

main.ts

class User {

}

console.log("hello world"); // 通常のJSも共存して書ける

3-3. Let's Compile!!

% ls
main.ts
% tsc main.ts
% ls
main.js main.ts 

3-4. コンパイルされたmain.jsを確認

main.js

var User = /** @class */ (function () {
    function User() {
    }
    return User;
}());
console.log("hello world");
  • class User{}の記述だけで、JSでクラスっぽい書き方を実現してくれている。
  • JSDocもデフォルトで付くみたい。最近のバージョンの仕様っぽい。
  • 簡潔に書けるのが何よりイイね!
  • そしてコンパイルってなんか楽しい。

3-5. JSファイル実行

実行はもちろん.jsファイル側

% node main.js
% hello, world