yaakaito.org

TypeScriptの紹介的なプレゼンした

Slide, TypeScript

こんにちは!うきょーです! 勉強会っぽいものがあったので、せっかくなのでTypeScriptどうよ的な話した。 スライドはあくまで紹介程度に留めてて、どっちかと言えば後半のどうよ、どうよ的なやりとりが本体だったんですが、せっかくなのでSpeaker Deckにあげた。

話した事

  • JavaScriptで書いてたのもをTypeScriptで書くとこんな感じですかね、的な流れです
  • みなさんJavaScriptを殴りたくなることがあると思います、僕もそうです
  • というわけでC#を作ったMicrosoft製のTypeScriptはどうなのか試しています
  • 簡単なJavaScriptがあります
  • これをTypeScriptで書き直すとこうです、すてきですね!!!!
  • というわけでTypeScriptはJavaScriptのスーパーセットです
  • スーパーセットなので残念ながら、JavaScriptのトラップなどを解決することはできません
  • その代わりにコンパイル時に型チェックを付ける事ができます
  • ただし出てくるJavaScriptまではチェックできないので、注意しましょう
  • 書くのであれば全部tsで書くのが理想です
  • 型を工夫して書いていたいままでよりも、大分見やすく書けるのが多分一番のメリットです(closure compilerとか)
  • 他にもクラス、モジュール、インターフェイスみたいなものはあるので、一個ずつみていきます
  • まずクラス、JavaScriptで書くとこんな感じですね、結構分かりにくいです
  • TypeScriptで書くとこうです、全体としての見通しがよくなりました
  • コンパイルするとでてくるJavaScriptも綺麗です
  • 次はモジュール、JavaScriptでもこういう感じに実装することはできますが・・・
  • これがもっと書きやすくなります
  • JavaScriptも綺麗です
  • 最後にインターフェイス、JavaやC#のインターフェイスとやれることは似ていますが、ものが違います
  • 公式のドキュメントから引用すると、あるオブジェクトに別名を与える、という機能です
  • Programmer Interfaceはこんな感じ、これはそのままオブジェクトの型としても使えますし、implementすることもできます
  • コンパイル時に必要な定義なので、JavaScriptになった段階では消えます
  • Functionもオブジェクトなので、それを表すこともできます
  • これはそれを利用してオーバーロードを実装してみた例です
  • ただし残念ながら、定義上のオーバーロードなので、実装自体はJavaScriptと変わりません
  • 他にも機能はありますが・・・
  • JavaScriptだけでも工夫すれば大体似たような感じで実装することはできますし、型チェックもコンパイラを使えば行う事が出来ます
  • そしてJavaScriptのトラップを回避できるわけでもありません
  • なので残念ながら、ソリューションというわけではなく
  • いままでJavaScriptを書いていた人が、見通しよく、安全なコードを書きやすくなる言語という認識でよいと思います
  • JavaScriptをしっかりと書けることが前提になる言語です
  • いままで似たような事を、ちゃんとやっていたJavaScripterな方にはかなりおすすめです