Lua is a dynamically-typed language, similar to Python. This means that there are no type definitions, and no need to declare the types of variables. Instead, the type is inferred from the value.

This can be an advantage or a disadvantage, depending upon the context, but it is part of what allows Lua to have such a simple grammar.

Let's now take a look at Lua's types: