3

単純なjsオブジェクトをclojureオブジェクトに変えることはできますが、次のようなものです。

(-> "{a: 2, b: 3}" js* js->clj)

goog.events.BrowserEvent次のようなハンドラー関数で、特定のオブジェクトを使用してそうすることができないようです。

(defn handle-click [e]
  ...
  (-> e .-evt js->clj keys) ;; <-------------
  ...

count関数は適用されますが、結果のオブジェクトはまたはfirstのようなシーケンス関数に応答しませんaget。Chromeのコンソールに表示されるエラーメッセージは次のとおりです。

Uncaught Error: No protocol
method ISeqable.-seq defined for type object: [object Object]

なぜこうなった?js->cljすべてのオブジェクトで動作するべきではありませんか?

どうすればこれを修正できますか?

ありがとう!

4

2 に答える 2