lang - hoge1e3/Tonyu2 GitHub Wiki

index

言語仕様

  • Tonyu2は,そのプログラムをJavaScriptに変換してから実行します.
  • Tonyu2で用いられる値やオブジェクトはJavaScriptの値やオブジェクトそのものです.そのため,Tonyu2からJavaScriptのオブジェクトを操作したり,JavaScriptからTonyu2のオブジェクトを操作したりできます.

Tonyu2 の言語仕様は,基本的にはJavaScript(ES5)の言語仕様に準じますが,JavaScriptとは次のような違いがあります.

  • ファイル全体が1つのクラス定義になります.
  • 親クラスのメソッド・コンストラクタ呼び出しはsuperを用います
  • 「待機可能モード」「待機不能モード」という2つの動作モードがあります.
  • 拡張構文があります
  • for (.. in ..)の挙動が違います
  • 演算子 について,使用できないものや,優先順位や結合について異なるものがあります.
  • for (.. of ..)let,配列と引数のスプレッド構文([...args]),オブジェクトリテラルの省略記法({x}{x:x}と等価),アロー関数など,一部のES6構文をサポートしています.
  • アロー関数はJavaScriptと記法が異なる部分があります.
    • アロー関数の後ろに{ } による文は書けません.例:f=(x)=>{return x*3;};//NG f=(x)=>x*3;//OK
    • アロー関数にオブジェクトリテラルの{}を直接書くことができます.例:f=(x)=>{value: x}; //OK

Backlink