Menu
CoddyTech

Tại sao nên dùng Luau?

Thuộc phần Giới thiệu về Luau trong hành trình Lua của Coddy. Bài học 2 trên 80.

Hệ thống kiểu của Luau mang lại ba lợi ích lớn, giúp quá trình phát triển an toàn và hiệu quả hơn.

Phát hiện lỗi sớm: trình kiểm tra kiểu phân tích code khi bạn chỉnh sửa, trước khi chạy. Hãy xem một lỗi kinh điển trong Lua: truyền nil vào nơi cần một số:

-- Lua: không có gì cảnh báo bạn về việc này
local function calculateTotal(price, tax)
    return price + tax
end

print(calculateTotal(nil, 0.1))
-- ✗ lỗi khi chạy: cố thực hiện phép tính với nil

Trong Lua thuần, sự cố đó chỉ xảy ra khi lời gọi sai cuối cùng được thực thi, có thể là trước mặt người dùng. Tệ hơn, đôi khi Lua còn che giấu hoàn toàn lỗi: "50" + 0.1 âm thầm chuyển chuỗi thành số rồi trả về 50.1… cho đến ngày chuỗi đó không còn là số. Với chú thích kiểu của Luau, lỗi được báo ngay lập tức:

local function calculateTotal(price: number, tax: number)
    return price + tax
end

calculateTotal(nil, 0.1) -- ✗ lỗi kiểu dữ liệu khi chỉnh sửa: nil không phải là số

Code dễ đọc hơn: chú thích kiểu đóng vai trò như tài liệu. price: number cho bạn và đồng đội biết chính xác hàm cần gì: không phải đoán mò hay lần theo phần triển khai.

Công cụ phát triển tốt hơn: vì trình soạn thảo biết kiểu của từng biến, bạn sẽ nhận được tính năng tự động hoàn thành chính xác, tái cấu trúc an toàn hơn và khả năng điều hướng thông minh hơn. Nhập dấu chấm sau một giá trị đã có kiểu, trình soạn thảo sẽ liệt kê chính xác những gì có thể dùng.

challenge icon

Thử thách

Dễ

Gán kiểu number cho cả hai tham số của calculateTotal.

  1. Ở dòng đầu tiên, đổi (price, tax) thành (price: number, tax: number).
  2. Giữ nguyên lời gọi calculateTotal(80, 8) ở cuối.

Nhấn Chạy code: đầu ra hiển thị 88.

Tự làm thử

local function calculateTotal(price, tax)
    return price + tax
end

print(calculateTotal(80, 8))

Tất cả bài học trong Giới thiệu về Luau

Tự luyện tập: Trình biên dịch Luau online