我在我的try/catch的catch形式中得到了一个js/Error
。我进行了一些repl工作,以了解关于js/Error
的一些内容。我不理解的是为什么(js->clj js-err)
仅仅返回相同的js/Error
对象。
(def js-err (js/Error. "testing"))
js-err
;; => #object[Error Error: testing]
(js->clj js-err)
;; => #object[Error Error: testing]
评估js-err
和(js->clj js-err)
的结果是一样的。
这里是js-err
上的属性
(.getOwnPropertyNames js/Object js-err)
;; => #js["stack" "message"]
我想或期望发生的事情
(js->clj js-err)
;; => {:message "testing"
;; :stack "blah\nblah"}
有人能解释为什么js->clj
不给我想要的对象数据作为地图吗,并且有通常的把对象转换为地图的方式吗?
这是在nodejs主机中