{}const=>[]async()letfn</>var
DesarrolloLua

Variables y tipos en Lua: en qué se diferencian de Python y JS

Analizamos cómo funcionan las variables y los tipos en Lua y en qué se diferencian de los habituales Python y JavaScript.

К

Kodik

Autor

3 min de lectura

Cuando empiezas a trabajar con Lua, una de las primeras preguntas es: ¿cómo se organizan las variables y los tipos? Especialmente si ya has escrito en Python o JavaScript, donde todo parece ser también «dinámico», pero hay matices. Vamos a verlo.

Variables predeterminadas en Lua globalesEsto distingue mucho el lenguaje de Python y JavaScript, donde todo lo que creas dentro de una función es local.

x = 10      -- глобальная переменная
local y = 5 -- локальная переменная

👉 Es una buena práctica utilizar siempre local para no saturar el espacio de nombres global y no detectar errores inesperados.

Tipos en Lua: 8 básicos

  • nil

  • boolean

  • number

  • string

  • function

  • userdata

  • thread

  • table

local a = 42        -- number
local b = "hello"   -- string
local c = true      -- boolean
local d = nil       -- nil

📌 A diferencia de Python, donde los números se dividen en int, float, complex, en Lua todo es simplemente number. Simplifica la vida, pero a veces reduce el control.

🔥 100.000+ estudiantes ya están con nosotros

¿Cansado de leer teoría?
¡Hora de programar!

Kodik — una app donde aprendes a programar con práctica. Mentor IA, lecciones interactivas, proyectos reales.

🤖 IA 24/7
🎓 Certificados
💰 Gratis
🚀 Empezar
Se unieron hoy

Tipificación dinámica: ¿cómo en JS y Python?

Sí, Lua, como Python/JavaScript, es un lenguaje con tipificación dinámica. La variable puede cambiar de tipo sobre la marcha:

local v = 10
print(type(v))  -- number

v = "line"
print(type(v))  -- string
# Python
x = 10
x = "line"
// JavaScript
let x = 10
x = "line"

Pero hay un detalle: Lua no tiene mecanismos integrados para restringir el tipo (a diferencia de TypeScript, mypy, etc.). Todo depende de la disciplina del programador.

Tablas: tipo universal principal

Si Python tiene listas, diccionarios, conjuntos, y en JS — objetos y matrices, entonces en Lua todo esto se combina en un solo tipo: table.

local arr = {1, 2, 3}       -- как массив
local dict = {x=10, y=20}   -- как словарь

👉 Ahí radica el poder de Lua: menos tipos, más flexibilidad. Pero también más responsabilidad 😅.

¿En qué se diferencia Lua de Python y JS?

Características

Lua

Python

JavaScript

Variables predeterminadas

Globales

Locales en función

Funciones locales (let/const)

Número de tipos integrados

8

14+

7+

Tipo de números

Uno (number)

int, float, complex

number, bigint

Estructura principal de datos

table

list, dict, set, tuple

object, array

Sistema de tipos

Dinámica, sin límites

Dinámica pero estricta

Dinámica, con «magia» (NaN, etc.)

Lua es un lenguaje con un modelo de datos simple y flexible. No está sobrecargado con tipos como Python, y no es tan «raro» con los números como JavaScript. Pero debido a las variables globales y la falta de una tipificación estricta, se debe tener especial cuidado.

📌 Por lo tanto, si quieres escribir en Lua sin dolor, siempre pon local y controla claramente lo que se almacena en las variables.

En Codice hacemos que el aprendizaje de la programación sea emocionante y comprensible: tenemos cursos interesantes con tareas que ayudan a mejorar las habilidades paso a paso.

Y también tenemos un canal de telegram, donde discutimos ideas geniales, compartimos experiencias y analizamos juntos las tareas: aprender no solo es útil, sino también divertido.

🎯Deja de postergar

¿Te gustó el artículo?
¡Hora de practicar!

En Kodik no solo lees — escribes código de inmediato. Teoría + práctica = habilidades reales.

Práctica instantánea
🧠IA explica código
🏆Certificado

Sin registro • Sin tarjeta