왜 Luau를 사용해야 할까요?
Coddy Lua 여정의 Luau 소개 섹션에 포함된 레슨 — 73개 중 2번째.
Luau의 타입 시스템은 개발을 더 안전하고 효율적으로 만들어 주는 세 가지 주요 이점을 제공합니다.
오류를 조기에 발견: 타입 체커는 코드가 실행되기 전, 편집하는 동안 코드를 분석합니다. number가 와야 할 자리에 nil을 전달하는 전형적인 Lua 버그를 생각해 보세요:
-- 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 nil순수 Lua에서는 해당 잘못된 호출이 실제로 실행될 때만 비로소 크래시가 발생합니다 — 어쩌면 사용자 앞에서 일어날 수도 있죠. 더 나쁜 것은 Lua가 때때로 버그를 완전히 감춘다는 점입니다. "50" + 0.1은 문자열이 숫자가 아니게 되는 날이 오기 전까지는 문자열을 암묵적으로 변환하여 50.1을 반환합니다… Luau 어노테이션을 사용하면 이 실수를 즉시 찾아냅니다:
local function calculateTotal(price: number, tax: number): number
return price + tax
end
calculateTotal(nil, 0.1) -- ✗ type error while editing: nil is not a number더 뛰어난 코드 가독성: 어노테이션은 문서 역할을 합니다. price: number는 함수가 무엇을 전달받고 반환하는지 자신과 팀원들에게 정확히 알려주므로 추측하거나 구현 코드를 뒤질 필요가 없습니다.
향상된 개발 도구: 에디터가 각 변수의 타입을 알고 있기 때문에 정확한 자동 완성, 더 안전한 리팩터링, 스마트한 탐색이 가능합니다. 타입이 지정된 값 뒤에 점을 입력하면 에디터가 사용 가능한 항목을 정확히 나열해 줍니다.
직접 해보기
이 레슨에는 코드 챌린지가 없습니다.
이 레슨에는 짧은 퀴즈가 포함되어 있습니다. 레슨을 시작해 문제를 풀고 진행 상황을 기록하세요.