ClojureScript 中用于打印到控制台的更惯用的方法是什么?

Which is the more idiomatic method in ClojureScript for printing to the console?

我有两种打印到 ClojureScript 控制台的选项。哪个更地道?

(.log js/console "Hello World!")

(enable-console-print!)
(println "Hello world!")

我的问题是:在 ClojureScript 中哪种打印到控制台的方法更惯用?

(enable-console-print!) 只是将 *print-fn* 设置为 console.log。在调用 (enable-console-print!) 之后,(println ...)(.log js/console ...) 在功能上是等价的。

但是使用 println 有 3 个好处:

  • 没有与 JavaScript 的显式互操作,这使得代码更清晰
  • 您可以在一个地方更改日志记录功能 - 只需将 *print-fn* 设置为不同的内容(例如,在浏览器中使用 alert,在 Node.JS 中将日志写入数据库,等等)
  • common Clojure/ClojureScript 代码的情况下,这是唯一的选择(您不能使用 .log 函数)