Menu
CoddyTech

Tipe Union

Termasuk bagian Pengantar Luau dalam perjalanan Lua di Coddy. Pelajaran 33 dari 80.

Terkadang satu tipe saja tidak cukup. Id pengguna bisa saja berupa "user123" atau 42. Dalam Lua biasa, kamu hanya bisa berharap yang terbaik. Luau memberimu tipe union: tanda pipa | berarti "atau":

local userId: number | string

userId = "user123"  -- ✓ string diperbolehkan
userId = 42          -- ✓ angka diperbolehkan
userId = true        -- ✗ error tipe: boolean tidak termasuk dalam gabungan tipe

Variabel tersebut dapat menampung salah satu anggota union, dan hanya anggota tersebut. Inilah perbedaan pentingnya dengan any: union tetap ketat tentang nilai yang diizinkan, sambil memberimu fleksibilitas yang kamu butuhkan.

Union sangat berguna untuk parameter fungsi yang menerima beberapa format input:

function printId(id: number | string): ()
    print(id)
end

printId(42)          -- berfungsi dengan angka
printId("user123")   -- berfungsi dengan string

Kamu sudah mengenal string?. Itulah union pertamamu! Itu hanyalah singkatan untuk string | nil. Di pelajaran berikutnya, kamu akan belajar cara bekerja dengan aman dengan nilai union setelah memilikinya.

challenge icon

Tantangan

Mudah

Terima nilai yang berupa angka atau string.

  1. Tulis local function printId(id: number | string): () yang mencetak id.
  2. Deklarasikan local status: string | number = "active".
  3. Panggil printId(7) dan printId("player7"), lalu atur status = 200 dan cetak nilainya.

Tekan Run Code: output menampilkan 7, player7, dan 200.

Coba sendiri

-- 1) printId(id: number | string): ()
-- 2) local status: string | number = "active"
-- 3) panggil printId(7) dan printId("player7"), ubah status menjadi 200, lalu cetak nilainya

Semua pelajaran di Pengantar Luau

Latihan sendiri: Compiler Luau online