Biến

*Nội dung này được dịch bằng AI (Beta) và có thể có lỗi. Để xem trang này bằng tiếng Anh, hãy nhấp vào đây.

Một biến là một tên giữ một giá trị. Giá trị của biến có thể là số, chuỗi, boolean, kiểu dữ liệu, và nhiều hơn nữa.

Tên biến

Tên biến có thể là bất kỳ chuỗi không phải từ khóa nào gồm các chữ cái, chữ số và dấu gạch dưới mà không bắt đầu bằng một chữ số.

LETTERS -- hợp lệ
a1 -- hợp lệ
var_name -- hợp lệ
_test -- hợp lệ
if -- KHÔNG hợp lệ
25th -- KHÔNG hợp lệ

Tên biến là phân biệt chữ hoa chữ thường, vì vậy TestVarTESTVAR là những tên khác nhau. Tránh đặt tên biến với dấu gạch dưới và tất cả các chữ cái viết hoa, chẳng hạn như _VERSION, vì Luau có thể giữ chúng cho các biến toàn cục nội bộ.

Thực hành tốt nhất

Thực hành tốt nhất là viết đầy đủ các từ. Viết tắt thường làm cho mã dễ viết hơn, nhưng khó đọc hơn. Tuân theo các quy tắc đặt tên thông thường khi đặt tên cho các biến của bạn có thể giúp bạn và người khác hiểu ý nghĩa hoặc mục đích của chúng:

  • Sử dụng tên PascalCase cho các đối tượng giống như lớp và enum.
  • Sử dụng tên PascalCase cho tất cả các API của Roblox. Các API camelCase chủ yếu đã lỗi thời.
  • Sử dụng tên camelCase cho các biến cục bộ, giá trị thành viên và hàm.
  • Sử dụng tên LOUD_SNAKE_CASE cho các hằng số, chẳng hạn như giá trị const hoặc các giá trị khác mà bạn không mong đợi sẽ thay đổi.
  • Đừng viết hoa toàn bộ các từ viết tắt trong tên. Ví dụ, viết aJsonVariable hoặc MakeHttpCall.

Tên đã được giữ

Luau giữ lại các từ khóa sau, vì vậy bạn không thể sử dụng chúng để đặt tên cho các biến hoặc hàm:

  • and
  • for
  • or
  • break
  • function
  • repeat
  • do
  • if
  • return
  • else
  • in
  • then
  • elseif
  • local
  • true
  • end
  • nil
  • until
  • false
  • not
  • while

Gán giá trị

Để tạo một biến và gán một giá trị cho nó, sử dụng toán tử =. Đặt biến ở bên trái của = và giá trị ở bên phải. Nếu bạn không đặt giá trị, giá trị sẽ là nil.

Các biến có thể có phạm vi toàn cục hoặc cục bộ phạm vi. Chúng có phạm vi toàn cục theo mặc định, nhưng gần như luôn tốt hơn khi tạo chúng với phạm vi cục bộ vì Luau truy cập các biến cục bộ nhanh hơn các biến toàn cục. Để cho một biến có phạm vi cục bộ, hãy đặt từ khóa local trước tên của biến khi bạn gán giá trị cho nó. Để cho nó có phạm vi cục bộ và cũng ngăn chặn việc gán lại, hãy sử dụng const thay vì local. Để biết thêm thông tin, xem Phạm vi.

local nilVar
local x = 10
local word = "Hello"
local boolean = true
print(nilVar) -- nil
print(x) -- 10
print(word) -- Hello
print(boolean) -- true

Gán giá trị cho nhiều biến

Bạn có thể gán giá trị cho nhiều biến trong một dòng bằng cách phân tách mỗi cặp biến-giá trị bằng dấu phẩy. Nếu bạn có nhiều biến hơn giá trị, thì Luau sẽ gán nil cho các biến dư thừa. Nếu bạn có nhiều giá trị hơn biến, Luau sẽ không gán các giá trị dư thừa cho bất kỳ biến nào.

local a, b, c = 1, 2, 3
local d, e, f = 4, 5 -- biến dư thừa
local g, h = 7, 8, 9 -- giá trị dư thừa
print(a, b, c) -- 1, 2, 3
print(d, e, f) -- 4, 5, nil
print(g, h) -- 7, 8

Thay đổi giá trị

Để thay đổi giá trị của một biến, gán một giá trị khác cho nó.

local x, y = 10, 20
print(x) -- 10
print(y) -- 20
x = 1000
y = 2000
print(x) -- 1000
print(y) -- 2000

Biến const

Để tạo một biến mà bạn không thể gán lại, hãy sử dụng const thay vì local. Cố gắng gán lại một biến const sẽ gây ra lỗi, bao gồm thông qua một toán tử gán phức hợp như +=.

const MAX_HEALTH = 100
MAX_HEALTH = 50 -- lỗi: không thể gán lại một biến const
MAX_HEALTH += 1 -- lỗi: không thể gán lại một biến const

Giống như local, const chấp nhận một chú thích kiểu, chẳng hạn như const MAX_HEALTH: number = 100.

Bạn cũng có thể khai báo một hàm với const, điều này ngăn chặn việc gán lại tên của hàm.

const function addOneAndTwo()
local result = 1 + 2
print(result)
end
addOneAndTwo = nil -- lỗi: không thể gán lại một biến const

const làm cho biến đó không thể thay đổi, không phải giá trị mà nó giữ. Nếu một biến const giữ một bảng, bạn vẫn có thể thay đổi nội dung của bảng. Để làm cho nội dung cũng không thể thay đổi, hãy sử dụng table.freeze().

const SETTINGS = { volume = 0 }
SETTINGS.volume = 1 -- ok, thay đổi một giá trị bên trong bảng
SETTINGS = {} -- lỗi: không thể gán lại một biến const

Khác với các từ khóa trong Tên đã được giữ, const là ngữ cảnh. Luau chỉ coi nó là một từ khóa nơi local là hợp lệ, vì vậy mã hiện có sử dụng const như một tên biến vẫn hoạt động.

local const = 1
print(const) -- 1
const = 2 -- ok, `const` là một tên biến ở đây

Để biết thêm thông tin và các trường hợp đặc biệt, xem tài liệu Luau.

©2026 Roblox Corporation. Roblox, logo Roblox và Powering Imagination là các nhãn hiệu đã đăng ký và chưa đăng ký của chúng tôi tại Hoa Kỳ và các quốc gia khác.