As discussed in many places throughout this book, Clojure and ClojureScript are very similar, but they are distinct languages. Clojure 1.7 released a feature called Reader Conditionals, which allows files to be loaded by both Clojure and ClojureScript.
There are a few interesting and powerful uses for reader conditionals as they apply to web applications. First, let's review what reader conditions actually are.
Reader conditionals are a new syntax which was added to Clojure 1.7 and ClojureScript. They create a new file extension,
.cljc, which stands for Clojure Commmon, and new syntax to support loading
.cljc files from Clojure, ClojureScript, and any future dialect.
Clojure files that end in the
.cljc extension ...