在不使用 reader 宏的情况下,#js {} 的等价物是什么

what is the equivalent of #js {} without using the reader macro

我正在寻找获得 #js {} 的方法。但是 (js-obj)(js* "{}") return nil(clj->js {}) 似乎有点浪费。

有其他选择吗?

(ns foo (:require [goog.object :as gobject]))
(gobject/create)

(js-obj) 实际上产生了一个对象,但是如果你直接在 REPL 中计算它,比如 Lumo 或 Planck,你会得到 nil 因为 {} 是评价。

如果您在调用范围更大的上下文中使用它,则一切正常。例如,尝试 (let [x (js-obj)] x),您将看到 #js {}.

捕获了根本问题:https://dev.clojure.org/jira/browse/CLJS-2991