「静的型付けが出来るJavaScriptの上位言語」を触ってみよう。hounobounoスマートフォン用の表示で見るhounobounoこの広告は、90日以上更新していないブログに表示しています。2013-07-04「静的型付けが出来るJavaScriptの上位言語」を触ってみよう。#3前々回、前回と続けておりますこのシリーズ。自身の直感を頼りに「触ってみよう」レベルの情報を連載しております。(コアな情報は記載していません。)今日はTypeScript最終章でいきたいと思います。宣言ソースファイルのコンパイルIDEではいってみましょAnyTypeScriptにはany(aは小文字)と言う型があります。これはなんだと言うと、なんでも型です。これを指定すると全ての型チェックが無効になります。え、そもそも型指定する為にTypeScript使うんじゃ...こちらではこのように記載されています。形式のデータを扱うような場合に便利なことがあります。キャストするとどんな式でもあらゆる型チェックを回避できるので、どうしてもうまく書けない時の回避策としても重要です。既存コードなど型を意識しないコードになんでも型を使用することで、柔軟に、簡潔に流用することが出来るような仕組みになっています。thisの解決JavaScriptでなにが厄介かと言うとこれです。使用箇所よってthisの中身は変化する為、いちいち気を使わないといけない。usethis.jshelloもちろん「hello」と自身のプロパティが表示されるここまではわかる。型を指定出来ないクロージャとかでのthisの扱いが問題。usethis.jsundefinedundefined。}のような関数定義をアロー関数と呼ぶらしい。require("./utils");別ファイルとしてのexportやrequireについては前回参照*.d.ts宣言ソースファイルというらしい。既存JavaScriptを元にTypeScriptとしての定義のみを書き出したファイル。/>宣言ソースファイルのコンパイル勘違いをしておりまして。過去の記事で「jsファイルからのコンパイル」と書いていましたが、JavaScriptファイルから宣言ソースファイルを生成する方法はありませんでした。TypeScriptでJavaScriptをライブラリとして展開する場合に、宣言ソースファイルを実装した.tsファイルから生成することができます。-d)オプションを加えてコンパイルすることで宣言ソースファイルを出力できます。sample.tssample.tsで実装した型定義がsample.d.tsファイルとして出力されますIDEここまで自身は全てテキストエディタで実装し、コマンドでコンパイルしてきました。実際にTypeScriptを使ってアプリケーションを作成するのであれば、IDEを使うことが理想的です。TypeScriptの型解決はIDE上で更に効果を発揮します。型が定まっていることで、充実したコード補完やリアルタイムにコンパイルエラーを確認できるからです。デモ動画を見てもらうとその効果がよく分かるのではないかと思います。TypeScriptはどんなIDEに対応しているか。2012を初め、以下のエディタを公式にサポートをしています。TextViEmacs公式サポートエディタ後、IntelliJはプラグインがある模様(JetBrainsすげぇ!!ということはWebStormでも使える?!)さてさて。ここまで3回にわたってTypeScriptをざっくり触ってきたんですが、感想をこれまたざっくりとまとめたいと思います。型解決できているって健康的アプリケーションは複数のデータと処理を統合することで動きます。他のデータ・処理がどのような責務を持ってどのように振る舞うかを型によって表現し保証することでスムーズな連携を可能とします。JavaScript上で他の部品を使用する場合の言い知れぬ不安を、静的に型を定義することで事前に解決することができます。これは精神衛生上かなり健康的!!オブジェクト指向プログラミング(OOP)に適している素のJavaScriptでもOOPは可能です(若干異論ありそうな気がしますが...)。これじゃない感が拭えません。OOPは型と言う概念があっての賜物かなと自身は思います。記述するコード量が増えます。以前に記載した通り、コンパイル済JavaScriptに型は一切反映されません。言うことは実際動くプログラム以外のコードを書く必要があります。!!ここでIDEがいい仕事をします。IDEが型を理解することで↑に挙げたような入力補完やコンパイルエラーのリアルタイム検知ができます。コードを書く量は増えますが、このようなIDE機能を活用することで、実質的にコードをタイプする量は、型解決しないコードを書く場合と大差ないと思われます。このようなIDEの機能を使用できるのも型と言う概念があってこそです。柔軟性に優れているTypeScriptとして自身が一番優れていると感じた点はここです。素のJavaScriptも書ける。みたいな部分的な使い分けが可能です。造るモノ・ヒトに応じたいい塩梅を実現できます。既存コードがそのまま動作する↑でも挙げましたがTypeScriptはJavaScriptをそのまま記述できます。言うことは既存資源をそのまま流用できます。今JavaScriptでなにかしようとした場合、ライブラリを使用しないことはほぼ皆無です。既存のライブラリをそのまま使用できるメリットは非常に大きいと思います。(使えるというだけで、素のJavaScriptは型解決できません。今度は同じノリでHaxeを試してみたいと思います。00:04「静的型付けが出来るJavaScriptの上位言語」を触ってみよう。けが出来るJavaScriptの上位言語」を触ってみよう。Dart「静的型付けが出来るJavaScriptの上位言語」を触ってみよう。Haxe「静的型付けが出来るJavaScriptの上位言語」を触ってみよう。#3「静的型付けが出来るJavaScriptの上位言語」を触ってみよう。0.9の新機能)月別アーカイブはてなブログをはじめよう!koizussさんは、はてなブログを使っています。ブログを報告するスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。