In Clojure we can bind a piece of the code/data to a var (variable). To declare a global var we use a def special form (similar to let keyword in JS world).
(def my-list '(0 1 2))We could also bind an expression to a var. Function range in our example returns numbers from 0 to 2 (0 1 2).
(def my-new-list (range 3))We could also define a lexically scoped (local) bindings with a let special form. We declare them in square brackets by providing name and value pairs. a and b are only accessible in let scope wraped with parenthesis.
(let [a 1
b 2]
(+ a b)) -> 3
(+ a b) -> Syntax error