2015-02-01 5 views
0

У меня есть два варианта печати на консоль в ClojureScript. Какой из них более идиоматичен?Какой более идиоматический метод в ClojureScript для печати на консоль?

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

или

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

Мой вопрос: Каких более идиоматический способ в ClojureScript для печати на консоль?

ответ

1

(enable-console-print!) только устанавливает *print-fn* по console.log. После вызова (enable-console-print!) оба (println ...) и (.log js/console ...) функционально эквивалентны.

Однако использование println имеет 3 преимущества:

  • Там нет явного Interop с JavaScript, что делает код понятнее
  • Вы имеете возможность изменить вход функциональность в одном месте - просто установите *print-fn* на что-то другое (например, использовать alert в браузере, писать журналы в БД в Node.js и т.д.)
  • в случае common Clojure коды/ClojureScript это единственный вариант (вы не можете использовать функцию .log)

 Смежные вопросы

  • Нет связанных вопросов^_^