(js-obj)
фактически производит объект, но если вы оцените его непосредственно, скажем, в Lumo или Planck на REPL, вы получите nil
благодаря тому, что {}
оценивается.
Если вы используете его в контексте, где вызов имеет немного больше возможностей, все работает.Например, попробуйте (let [x (js-obj)] x)
, и вы увидите #js {}
.
Уловили основную проблему: https://dev.clojure.org/jira/browse/CLJS-2991