我怎样才能在clojurescript中创建一个IDerefable?

我怎样才能在clojurescript中创建一个IDerefable?,clojure,clojurescript,Clojure,Clojurescript,有没有一种方法可以通过实现IDeref使cljs中的另一个容器与clojure中的容器类似 (reify clojure.lang.IDeref (deref [_] ...)) 编译器警告IDeref不是协议请尝试以下操作: (def a (reify IDeref (-deref [_] "Hello!"))) (.log js/console @a) 输出“你好!”。您可能需要使用deftype: (deftype LikeAtom [] IDeref

有没有一种方法可以通过实现IDeref使cljs中的另一个容器与clojure中的容器类似

(reify clojure.lang.IDeref
     (deref [_] ...))
编译器警告IDeref不是协议

请尝试以下操作:

(def a
  (reify IDeref
    (-deref [_] "Hello!")))

(.log js/console @a)
输出“你好!”。您可能需要使用deftype:

(deftype LikeAtom []
  IDeref
  (-deref [_] "Hello!"))

(.log js/console @(LikeAtom.))