JSX (プログラミング言語)
出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2025/06/29 13:15 UTC 版)
| 
       この記事の主題はウィキペディアにおける独立記事作成の目安を満たしていないおそれがあります。 (2025年6月)
       | 
| パラダイム | オブジェクト指向[1] | 
|---|---|
| 登場時期 | 2012年5月31日[1] | 
| 設計者 | DeNA, Co., Ltd. | 
| 開発者 | DeNA, Co., Ltd. | 
| 評価版リリース | 0.9.89 / 2014年5月20日[2] | 
| 型付け | 静的型付け[1] | 
| 影響を受けた言語 | JavaScript | 
| プラットフォーム | クロスプラットフォーム | 
| ライセンス | MIT License | 
| ウェブサイト | jsx | 
| 拡張子 | .jsx | 
JSX は、DeNAによって開発されたウェブアプリケーション向けのプログラミング言語である。ECMAScript 4から影響を受けた構文を持ち、静的型付けなのが特徴。ウェブブラウザ組み込みのスクリプト言語であるJavaScriptのデメリットを解消することを目的に作られている。またJSXのソースコードは最適化されたJavaScriptコードに変換して実行され、同等のJavaScriptプログラムと比較して10%以上高速になるとされる[3][1]。
なお、Reactで用いられるJavaScriptの拡張構文JSXや、Adobe社製ソフトウェアに搭載されているJavaScriptマクロは、同じく「JSX」という名前がつけられているが、全くの別物である。
言語仕様
JSXの特徴は以下の点が挙げられる。
- クラス構文のサポート
- モジュール機構
- テンプレート(総称型)のサポート
- 関数オーバーロードのサポート
- アロー関数式
- レキシカルスコープをもつthis
- デフォルト引数
- 最適化で削除されるassert文
- プロファイラ(スマートフォンでも利用可能)
- source mapのサポート
- nullを許容しないプリミティブ型(number, boolean, string)
例
Hello worldプログラムは、以下のとおりである[4]。JSXプログラムは _Main.main(:string[]) : void がアプリケーションのエントリポイントとなる。
 class _Main {
     static function main(args : string[]) : void {
         log "Hello, world!";
     }
 }
  JSXでは、継承関係にないクラスに総称的な操作をするためにはインターフェイスを使う。インターフェイスを使ったプログラムは以下のようになる[4]。
// an example for class inheritance and interfaces
interface Flyable {
    abstract function fly() : void;
}
abstract class Animal {
    function eat() : void {
      log "An animal is eating!";
    }
}
class Bat extends Animal implements Flyable {
    override function fly() : void {
        log "A bat is flying!";
    }
}
abstract class Insect {
}
class Bee extends Insect implements Flyable {
    override function fly() : void {
        log "A bee is flying!";
    }
}
class _Main {
    static function main(args : string[]) : void {
        // fo bar
        var bat = new Bat();
        var animal : Animal = bat; // OK. A bat is an animal.
        animal.eat();
        var flyable : Flyable = bat; // OK. A bat can fly
        flyable.fly();
        // for Bee
        var bee = new Bee();
        flyable = bee; // A bee is also flyable
        flyable.fly();
    }
}
  関連項目
脚注
- ^ a b c d “高速なJavaScriptコードを生成できるWebアプリケーション向け言語「JSX」が公開される”. OSDN (2012年5月31日). 2012年6月1日閲覧。
- ^ Releases · jsx/JSX - GitHub
- ^ http://www.slideshare.net/kazuho/jsx-optimizer
- ^ a b “JSX Tutorial”. JSX. 2012年6月1日閲覧。
外部リンク
- JSX_(プログラミング言語)のページへのリンク

 
                             
                    









