Based on https://clojure.org/ and https://clojurescript.org/ :
Clojure is a dynamic, general-purpose programming language, combining the approachability and interactive development of a scripting language with an efficient and robust infrastructure for multithreaded programming.
Clojure is a dialect of Lisp, and shares with Lisp the code-as-data philosophy and a powerful macro system.
ClojureScript is a compiler for Clojure that targets JavaScript. It emits JavaScript code which is compatible with the advanced compilation mode of the Google Closure optimizing compiler.
Clojure is a JVM language, while ClojureScript is comipled and running on JavaScript engines.
ClojureScript is a fantastic language for create React apps thanks to the persistent data structure and Lisp syntax. Meanwhile static analysing and Macro bring a lot of benefits.
This guide is organized for JavaScript developers who have less knowledges for Java world.
To read through this guide, you may need more materials to help with the details:
- Clojure Brave and True https://www.braveclojure.com/clojure-for-the-brave-and-true/
- CheatSheet http://cljs.info/cheatsheet/
In this guide, we call ClojureScript as cljs for short in many occasions.