Keskeiset käsitteet
OBJSは、型指定変数、関数呼び出し管理、新しい演算子、簡潔な構文パターンなど、高度なOOP機能をJavaScriptに導入することで、コーディングをより柔軟かつ多用途にすることを目的とした新しいトランスパイラプロジェクトです。
Tiivistelmä
OBJS: JavaScriptのための高度なOOPと新しい構文パターン
この論文は、JavaScriptの機能を拡張することを目的とした新しいトランスパイラプロジェクト、OBJSを紹介します。OBJSは、「オブジェクト指向JavaScript」の略で、JavaScriptに型指定変数、関数呼び出し管理、新しい演算子、簡潔な構文パターンを導入することで、コーディングをより柔軟かつ多用途にすることを目的としています。
JavaScriptは、Webアプリケーションのフロントエンドサービスで広く使用されているプログラミング言語ですが、最近のシステムアプリケーションの要求の高まりに対応するには、いくつかの機能強化が必要です。TypeScriptの開発は、JavaScriptに新しいパターンを実装するための強い動機と余地があることを示しています。
OBJSは、高度なオブジェクト指向プログラミング(OOP)や「コードイベントレスポンス」など、JavaScriptに新しいコーディングパラダイムを導入することを目指しています。これらの新機能は以下のようにまとめられます。
1. 新しい構文パターン
複数代入: (obj1, obj2, obj3) = obj0;のように、複数の変数に値を一度に代入できます。
複数比較: if ( ( obj1, obj2, obj3 ) == ( 0, 1, 2 ) )のように、複数の比較を簡潔に記述できます。
配列の特殊抽出: _a[6:5:0:1]のように、インデックス範囲を指定して配列から要素を抽出できます。
JSON構造のコンパクトな構築: var _a = [a,b,c]:[1,2,3];のように、キーと値の配列からJSONオブジェクトを構築できます。
デコレータトークン: @parentや@rootを使用して、ネストされたJSON構造内の親ノードにアクセスできます。
ifchain文:複数の条件をネストせずに簡潔に記述できます。
拡張switch文:case条件に正規表現を使用できます。
fork演算子:三項演算子の拡張版で、複数の変数に値を代入できます。
ブロックリピータ: 4 * { console.log( @counter ); }のように、コードブロックを繰り返し実行できます。
順序付きシーケンス: var _a = (1,...,10);のように、値の範囲を指定して配列を作成できます。
2. データ型指定
型指定宣言: complex _imag = ( 0, 1 );のように、変数のデータ型を明示的に指定できます。
型指定関数宣言: complex function fn(complex c){ return c; }のように、関数の戻り値と引数のデータ型を指定できます。
安全な引数:関数の引数が指定されたデータ型であることを保証します。
3. 最適化
未参照の関数引数の削除
到達不能コードの削除
定数畳み込み
定数伝播
4. プリプロセッサ
#overloadディレクティブ:演算子、関数、予約語、イベント、型キャストのオーバーロードを定義できます。