A nyelv jelkészlete és azonosítói nagyrészt megegyeznek a JavaScript-ben megismerttel. Különbség gyakorlatilag csak megjegyzések és elválasztójelek használatában van.
A CoffeeScript elválasztójelként a whitespace karakteretek használja.
Szóval nincs szükség a ; lezáró karakterre elég egy új sort kezdeni.
Arra is van lehetőség, hogy egy sorba több utasítást írjunk, ilyenkor
a ; az elválasztó karakter.
A blokkokat behúzással
jelöljük, úgy mint Pythonban.
Alapvetően itt is ugyanaz a helyzet mint JavaScript esetén, de van pár kiegészítés, specialitás.
A CoffeeScript megengedi a többsoros stringek használatát:
A CoffeeScript támogat egy másfajta többsoros stringet is amit "Heredoc"-nak neveznek. Ez arra használható, hogy olyan string literálokat írjunk amely érzékeny a behúzásra vagy egyéb formázott szöveget tartalmaz. Az ilyen stílusú literálokat három idézőjellel nyitjuk és zárjuk.
Ha egy idézőjel határolt stringbe a #{x} karaktersorozatot írjuk, akkor az x kifejezés kiértékelődik, majd beillesztődik a stringbe.
A CoffeeScript támogat úgynevezett kiterjesztett reguláris kifejezéseket. Ezek a heredoc-hoz hasonlóan figyelmen kívül hagyják a belső whitespace karaktereket és tartalmazhatnak belső megjegyzéseket is. A CoffeeScript ezt a fajta literált "Heregex"-nek hívja. Célja, hogy jól olvashatóan lehessen komplex reguláris kifejezéseket megadni. Ezt a literált /// karakterekkel kell kezdeni és ezzel is kell zárni.
A CoffeeScript az egysoros megjegyzést a # karakter jelöli. Az # után írt szöveget a CoffeeScript fordító nem generálja bele a kimenteti JavaScript kódba.
Amennyiben olyan megjegyzést szeretnénk írni amelyet szeretnénk, hogy bekerüljön a kimeneti kódba is, akkor használhatjuk az úgynevezett "Herecomment"-eket is. Ezek a heredocs-hoz hasonlóan megtartják a formázásokat. Ideális megoldás licencek headerekhez. A herecommenteket ### karakterek közé írjuk:
A CoffeeScript megoldást kínál a JavaScript egyik legnagyobb hibaforrására, a globális változókra. JavaScriptben túl könnyű véletlenül globális változót definiálni a váltózó előtti var kulcsszó lehagyásával. A CofffeeScript úgy oldja meg a problémát, hogy egyszerűen eltávolítja a globális változókat. A színfalak mögött, a CoffeeScript a szkripeteket egy anonymous függvény belsejébe helyezi és minden változó behozatalt automatikusan a var kulcsszóval definiál. Ezáltal tartva meg a lokális kontextust.
Ahogyan látható a változóértékadás teljesen lokális, lehetetlen véletlenül globális változót deklarálni. A CoffeeScript tesz még egy lépést előre és nehezebbé teszi a felsőbb szintű változók árnyékolását. Sokat segítve a legtöbb általános JavaScript fejlesztői tévesztés elkerülésén.