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 tipeVariabel 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 stringKamu 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.
Tantangan
MudahTerima nilai yang berupa angka atau string.
- Tulis
local function printId(id: number | string): ()yang mencetakid. - Deklarasikan
local status: string | number = "active". - Panggil
printId(7)danprintId("player7"), lalu aturstatus = 200dan 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
1Memulai dengan Luau
Apa Itu Luau?Mengapa Menggunakan Luau?Kode Luau PertamamuPemeriksaan Tipe dan Mode ErrorRangkuman: Pengenalan Luau4Bekerja dengan Fungsi
Mengetik Parameter dan Nilai KembalianMengetik Fungsi AnonimFungsi Tanpa Nilai KembalianParameter OpsionalNilai Parameter DefaultNilai Default untuk BooleanFungsi VariadikMendefinisikan Tipe FungsiUlasan: Fungsi Bertipe2Tipe Inti
Number, String, dan BooleanTipe 'any': Jalan KeluarTipe 'unknown'Nil dan Tipe OpsionalInferensi Tipe dalam PraktikAnotasi Tipe EksplisitUlasan: Latihan Tipe Inti5Alias, Union, dan Intersection
Alias Tipe untuk Tipe PrimitifTipe UnionMenggunakan Tipe UnionTipe LiteralTipe IntersectionMenggabungkan Alias TipeRekap: Kombinasi Tipe Lanjutan3Tabel Bertipe: array & map
Array BertipeMenambahkan dan Membaca ElemenApa Itu Tipe Map?Mendeklarasikan dan Mengakses MapMenelusuri TabelTabel dengan Bentuk CampuranMembaca GridMembuat Gridtable.unpackRangkuman: array dan mapLatihan sendiri: Compiler Luau online