Исходный текст
Комментарии и пробельные символы
//начинает комментарий, который продолжается до конца строки./* ... */— блочный комментарий, который может занимать несколько строк. Блочные комментарии не вкладываются. Незакрытый/*поглощает остаток скрипта, и вы получаете ошибку компиляции в конце.- Пробелы, табуляции и разрывы строк разделяют лексемы и в остальном игнорируются. Инструкция может занимать сколько угодно строк.
- Маркеры комментариев внутри строкового литерала — просто текст.
Инструкции и точки с запятой
Присваивание или инструкция-выражение заканчивается на ;. Блоку { ... }, if или for она
после закрывающей фигурной скобки не нужна. Лишняя ; — пустая инструкция и безвредна, поэтому
;; допустимо.
Идентификаторы
Имя переменной или встроенной функции начинается с буквы или _, за которыми следуют буквы, цифры
или _ (только ASCII). Имена чувствительны к регистру: count и Count — разные переменные, а
windowmaximize(w) — неизвестная функция.
Ключевые слова
Зарезервированы пять слов: if, else, for, true и false. Больше ключевых слов нет.
while, return, break, function и т. п. — обычные идентификаторы, поэтому while (x) { }
читается как вызов неизвестной функции с именем while.
Имена с точкой
Namespace.Name без пробелов вокруг точки обозначает именованную константу,
например VirtualKey.Enter или FileNotify.LastWrite. Это не обращение к члену. Объектов нет, и
точка в любом другом месте — ошибка.