Я использую библиотеку JavaScript, которая предоставляет конструктор как свойство глобального объекта.
В JavaScript я могу вызвать конструктор следующим образом.
var thing = new Library.Thing();
Как мне вызвать конструктор в ClojureScript? Ни одна из этих работ не работает.
; These all cause compiler errors
(new (.-Thing js/Library)) ; First arg to new must be a symbol
(new (.Thing js/Library))
(new .-Thing js/Library)
(new .Thing js/Library)
(new js/Library/Thing) ; Invalid token: js/Library/Thing
; These all compile to different JS than I am looking for
((.-Thing js/Library).) ; Library.Thing.call(null, _SLASH_);
((.Thing js/Library).) ; Library.Thing().call(null, _SLASH_);
Он отлично работает, если я использую js *, но это обман, правильно?
(js* "new Library.Thing()")
Каков правильный способ вызова функции-конструктора, которая является свойством другого объекта?