示例
(str #js {"toString" (fn [] "hello") "valueOf" (fn [] 42)}) ; => "42"
问题在于ClojureScript使用连接将其值转换为字符串,这不适用于具有valueOf()方法覆盖的对象。
JavaScript示例
`
var obj = {
toString: function() { return 'hello'; },
valueOf: function() { return 42; }
};
console.log(String(obj)); => 'hello'
console.log(obj.toString()); => 'hello'
console.log('' + obj); => '42'
`
可能的解决方案可能是使用String()函数。使用toString()不会像这个问题中描述的那样工作:[a rel="nofollow" href="http://dev.clojure.org/jira/browse/CLJS-847" target="_blank">http://dev.clojure.org/jira/browse/CLJS-847