概要
- ClojureScript の新バージョンリリース発表
- Async関数 サポートの追加
- ECMAScript 2016 ターゲットによる新機能強化
- JavaScriptとのインタープリティビリティ 向上
- コミュニティ貢献者 への謝辞
ClojureScript 1.12.145 新リリースのお知らせ
- ClojureScript Team による2026年5月7日付リリース
- 既存ユーザー向けに リリースノート の熟読推奨
- ECMAScript 2016 をターゲットとしたことで、今後も新機能追加予定
Async関数サポート
- 関数に ^:async ヒントを付与することで、 JavaScriptのasync関数 として出力
- 例:
(defn ^:async foo [n] (let [x (await (Promise/resolve 10)) y (let [y (await (Promise/resolve 20))] (inc y)) f (fn [] 20)] (+ n x y (f))))
- 例:
- テスト関数 にも^:async指定が可能
- 例:
(deftest ^:async defn-test (try (let [v (await (foo 10))] (is (= 61 v))) (let [v (await (apply foo [10]))] (is (= 61 v))) (catch :default _ (is false))))
- 例:
- 最新のClojure調査で JavaScript interop向けasync関数サポート が最も要望された機能
- 追加依存なし でモダンなブラウザAPIやライブラリとの連携が容易に
その他の修正・変更点
- ClojureScriptの全修正・変更・強化点一覧 は公式ページ参照
コミュニティへの感謝
- ClojureScript 1.12.145 への貢献者として Michiel Borkent 氏ほかコミュニティメンバーに感謝