Warum Luau nutzen?
Teil des Abschnitts Einführung in Luau der Lua-Journey von Coddy — Lektion 2 von 73.
Das Typsystem von Luau bietet drei wesentliche Vorteile, die die Entwicklung sicherer und effizienter machen.
Fehler frühzeitig erkennen: Die Typenprüfung analysiert Ihren Code während der Bearbeitung, bevor er ausgeführt wird. Betrachten Sie einen klassischen Lua-Fehler — die Übergabe von nil, wo eine `number` erwartet wird:
-- Lua: nothing warns you about this
local function calculateTotal(price, tax)
return price + tax
end
print(calculateTotal(nil, 0.1))
-- ✗ runtime error: attempt to perform arithmetic on nilIn reinem Lua passiert dieser Absturz erst, wenn der fehlerhafte Aufruf schlussendlich ausgeführt wird — möglicherweise direkt vor Ihren Benutzern. Noch schlimmer ist, dass Lua den Fehler manchmal vollständig verbirgt: "50" + 0.1 wandelt den String stillschweigend um und gibt 50.1 zurück… bis zu dem Tag, an dem der String nicht numerisch ist. Mit Luau-Typannotationen wird der Fehler sofort markiert:
local function calculateTotal(price: number, tax: number): number
return price + tax
end
calculateTotal(nil, 0.1) -- ✗ type error while editing: nil is not a numberBessere Lesbarkeit des Codes: Typannotationen dienen als Dokumentation. price: number sagt Ihnen und Ihren Teammitgliedern genau, was eine `function` erwartet und zurückgibt — kein Raten, kein Durchsuchen der Implementierung.
Verbesserte Entwicklungswerkzeuge: Da der Editor den `type` jeder Variablen kennt, erhalten Sie eine genaue Autovervollständigung, sicherere Refactorings und eine intelligentere Navigation. Tippen Sie einen Punkt nach einem typisierten Wert, und der Editor listet genau auf, was verfügbar ist.
Probier es selbst
Diese Lektion enthält keine Programmieraufgabe.
Diese Lektion enthält ein kurzes Quiz. Starte die Lektion, um es zu beantworten und deinen Fortschritt zu speichern.
Alle Lektionen in Einführung in Luau
1Erste Schritte mit Luau
Was ist Luau?Warum Luau nutzen?Dein erster Luau-CodeTypprüfung & FehlermodiZusammenfassung: Einführung in Luau4Arbeiten mit Funktionen
Typisierung von Parametern & RückgabewertenTypisierung von anonymen FunktionenFunktionen ohne RückgabewertOptionale ParameterStandard-ParameterwerteVariadische FunktionenDefinieren von FunktionstypenZusammenfassung: Typisierte Funktionen2Grundtypen
Grundlegende Typen: num, str, boolDer Typ 'any': Der AuswegDer Typ 'unknown'Nil- & optionale TypenTypinferenz in der PraxisExplizite TypannotationenZusammenfassung: Praxis zu Grundtypen5Typ-Aliase, Union-Typen und Schnittmengen-Typen
Typ-Aliase für PrimitivenUnion-TypenArbeiten mit Union-TypenLiterale TypenSchnittmengen-Typen (Intersection Types)Kombination von Typ-AliasenZusammenfassung: Fortgeschrittene Typ-Kombinationen3Typisierte Tabellen: Arrays & Maps
Typisierte ArraysHinzufügen und Lesen von ElementenWas ist ein Map-Typ?Deklarieren und Zugreifen auf MapsIterieren von TabellenGemischt-strukturierte TabellenMehrdimensionale typisierte Arraystable.unpack und VarargsZusammenfassung: Arrays und Maps