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
函数)
我有两种打印到 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
函数)