lang - hoge1e3/Tonyu2 GitHub Wiki
言語仕様
- 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;};//NGf=(x)=>x*3;//OK - アロー関数にオブジェクトリテラルの{}を直接書くことができます.例:
f=(x)=>{value: x}; //OK
- アロー関数の後ろに{ } による文は書けません.例: