클로저스크립트, async/await 문법 공식 지원
자바스크립트로 컴파일되는 함수형 언어인 ClojureScript가 1.12.145 버전을 발표하며 드디어 async/await 문법을 기본 지원합니다. 개발자는 함수에 ^:async 힌트만 추가하면 자바스크립트의 비동기 함수를 깔끔하게 생성할 수 있어, 최신 브라우저 API나 인기 라이브러리 연동 시 불필요했던 외부 의존성을 제거할 수 있게 되었습니다.
ClojureScript clojurescript.org ask.clojure.org
1.12.145 릴리스 1.12.145 릴리스 2026년 5월 7일 ClojureScript 팀
새로운 ClojureScript 버전을 발표하게 되어 기쁩니다. 기존 ClojureScript 사용자라면 다음 릴리스 노트를 주의 깊게 읽어주시기 바랍니다.
비동기 함수 (Async Functions) ClojureScript가 ECMAScript 2016을 타겟으로 함에 따라, 우리는 상호 운용성(interop)을 강화할 수 있는 새로운 영역을 신중하게 선택할 수 있게 되었습니다. 이번 릴리스부터 함수에 ^:async 힌트를 추가하면 ClojureScript 컴파일러가 JavaScript 비동기 함수(async function)를 생성하도록 만들 수 있습니다:
(refer-global :only '[Promise]) (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))))
이 기능은 테스트에도 적용됩니다:
(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 설문 조사에서 async 함수 지원은 JavaScript 연동을 위한 ClojureScript 개선 사항 목록에서 압도적인 1위를 차지했습니다. 이번 개선을 통해 개발자들은 최신 브라우저 API 및 인기 있는 라이브러리와 상호작용하는 일반적인 경우에 추가적인 의존성(dependency)을 도입할 필요가 없어졌습니다.
ClojureScript의 수정, 변경 및 개선 사항에 대한 전체 목록은 이곳을 참조하십시오.
기여자 ClojureScript 1.12.145에 기여한 모든 커뮤니티 멤버들에게 감사드립니다: Michiel Borkent
문서 개요 (Overview) | 레퍼런스 (Reference) | 도구 (Tools) | 가이드 (Guides) | 커뮤니티 (Community) | 리소스 (Resources) | 기여하기 (Contributing)
기업 | 이벤트 | 코드 | API | 치트시트 (Cheatsheet) | 소스코드 (Source) | 변경 로그 (Changelog) | 기타
ClojureTV | 법적 고지 (Legal) | 라이선스 (License) | 개인정보 처리방침 (Privacy Policy) | 저작권 Rich Hickey | 개인정보 처리방침 게시일: 2026-05-07 웹사이트 디자인: Tom Hickey