# JSX

TypeScript は JSX のコンパイルをサポートしています。 JSXについては、[Facebookの解説](https://facebook.github.io/jsx/)を抜粋します:

> JSXはXMLに似た構文で、ECMAScriptの構文を拡張するものです。これは、JavaScriptのエンジンやブラウザで実装されることを意図したものではありません。また、これはJSXをECMAScriptへの機能追加提案でもありません。これは、様々なプリプロセッサ（トランスパイラ）によって使われることを意図したものです。トランスパイラによって、JSXのトークンを標準のECMAScriptに変換するということです。

JSXの背景となる動機は、利用者が\_JavaScriptの中で\_HTMLに似た構文でビュー(画面)を書けるようにする、ということです。

* あなたのJavaScriptコードをチェックするのと同じように、ビューの型をチェックします
* ビューがどのようなコンテキストで操作されるのかを明確にします(例えば、伝統的なMVCにおける\_コントローラとビュー\_の連携を強化します)
* JavaScriptのコーディングパターンを、HTMLのメンテナンスに再利用できるようにします(例えば、`Array.prototype.map`, `?:`, `switch` などです。そうでなければ、貧弱な型付けしかない他の方法を使うことになるでしょう)

これによって、プログラミングのエラーを防止することができ、なおかつ、ユーザーインターフェースのメンテナンスが容易になります。JSXの主なユースケースは、現時点では [FacebookのReact](http://facebook.github.io/react/)です。これについて、ここで詳しく説明します。
