Я просто обожаю JavaScript. Он настолько изящный (представьте себе, что тихий звук любящего фанатика вздыхает в фоновом режиме).
Итак, недавно я играл с Lua через löve2d (приятно!) - и я думаю, что Lua тоже замечательный. Как я вижу, эти два языка очень похожи.
Существуют очевидные различия, такие как
- Синтаксис
- проблемный домен
- библиотеки
- типы (бит)
но которые более тонкие? Есть ли что-нибудь, что JavaScript-кодер считал бы само собой разумеющимся, что работает в Lua немного иначе? Есть ли какие-либо подводные камни, которые могут быть неочевидны для опытного кодера одного языка, пытающегося использовать другой?
Например: в Lua массивы и хэши не являются отдельными (есть только таблицы) - в JavaScript они представляют собой числовые массивы и хешированные объекты. Ну, это одна из наиболее очевидных различий.
Но существуют ли различия в переменной scope, неизменяемости или что-то вроде этого?