awaitをデフォルトにして、非同期的に扱う時にキーワードを付けたいと思いますが、従来のJavaScriptとの互換性的に難しいです。そこで新言語、JavaScriptをちょっとだけ変更したJavaScriptをAltJS、SyncJS(シンクジェーエス)を作りました!(AltJS、オルトジェーエス、JavaScriptを生成するプログラミング言語、TypeScriptが有名)
「SyncJS」
SyncJS is a default await AltJS, basically SyncJS is JavaScript.
SyncJSは、awaitがdefalutなAltJS、基本的にはJavaScriptです。
You can use "promise" function to to use Promise for async execution.
非同期的に呼びたいときはpromise関数で囲ってください。Promiseのインスタンスが返ります。
詳しくは、51行のJavaScriptプログラム「syncjs.js」と、deno test でチェックする。テストコード「syncjs.test.js」をご覧ください。
JavaScriptのパーサーには、esprimaではなく、top level awaitにも対応していて互換性もある、acornをESモジュール化した、acorn-esを使いました。JavaScriptの生成はescodegenです。
おもしろそう!もっと知りたい!という学生へ
「jig.jp 勉強会&インターン」募集中です。