Translations from JavaScript console.log("Hello, world!"); ;; to print in browser console (.log js/console "Hello, world!") ;; to print at ClojureScript REPL (println "Hello, world!") // No native implementation (ns my.library) // No native implementation (ns my.library (:require [other.library :as other])) var foo = "bar"; (def foo "bar") function foo() { var bar = 1; } (defn foo [] (let [bar 1])) // JavaScript "hoists" variables to the top of // their scope. So the following function: function printName() { console.log('Hello, ' + name); var name = 'Bob'; } // is equivalent to this function: function printName() { var name; console.log('Hello, ' + name); name = 'Bob'; } printName(); // Hello, undefined ;; ClojureScript does not hoist variables ;; this function will issue a warning ...