你怎么从clojurescript引用javascript这个关键字?

Aar*_*Iba 10 clojurescript

我正在将一些ClojureScript代码与一个带有回调函数的JS库调用集成在一起.JS库使用JavsScript的"this"关键字将数据传递给回调.

我可以使用(js*"this")来使用它.例如:

(libraryCall (fn [] (.log console (js* "this"))))
Run Code Online (Sandbox Code Playgroud)

有没有办法从ClojureScript获取"this"上下文而不诉诸js*?

lev*_*and 17

使用内置this-as宏.它需要一个名称和一个正文,并使用绑定到JavaScript的名称来评估正文this.

例如

(libraryCall (fn [] (this-as my-this (.log js/console my-this))))
Run Code Online (Sandbox Code Playgroud)

很好的问题......不得不深入研究编译器代码才能找到它,它根本没有得到很好的宣传.

我会把它添加到书中.