0Pricing
TypeScript Academy · Pelajaran

Elemen Rest Tuple

Gunakan elemen rest di dalam jenis tuple.

Elemen Rest Tuple adalah pelajaran TypeScript Academy gratis di CoddyKit. Ini adalah pelajaran 3 dari 4. Kamu bisa membaca pelajaran lengkapnya di bawah secara gratis — lalu praktikkan langsung di browser dengan editor kode bawaan dan tutor AI 24/7. Ini adalah bagian dari jalur belajar TypeScript Academy, dan progresmu tersinkronisasi di web dan aplikasi CoddyKit. Kursus TypeScript Academy mencakup 4 pelajaran total.

Tupel dengan Panjang Variabel

Tupel biasanya memiliki panjang tetap, tetapi elemen sisa memungkinkan satu posisi menampung sejumlah elemen. Ini memodelkan data yang sebagian tetap dan sebagian variabel.

Elemen Sisa di Akhir

Tuliskan [string, ...number[]] untuk menyatakan: satu string, lalu nol atau lebih angka. Slot pertama bersifat tetap; bagian sisanya dapat bertambah secara bebas.

type Row = [string, ...number[]]
const r: Row = ["scores", 9, 8, 7]
console.log(r[0], r.length) // scores 4

Bagian Tetap Wajib Ada

Elemen tetap di awal harus ada. Bagian sisa boleh kosong, tetapi slot tetap tidak boleh dilewati.

type Row = [string, ...number[]]
const min: Row = ["label"] // ok, zero numbers
// const bad: Row = [] // Error: missing string
console.log(min)

Elemen Sisa di Awal

Elemen sisa juga dapat ditempatkan di awal, dengan elemen tetap setelahnya. Ini memodelkan bagian awal yang variabel dan diikuti bagian akhir yang tetap.

type Trailing = [...number[], boolean]
const t: Trailing = [1, 2, 3, true]
console.log(t[t.length - 1]) // true

Elemen Sisa di Tengah

Elemen sisa dapat berada di tengah, di antara elemen tetap di awal dan di akhir. TypeScript menentukan posisi mana yang tetap pada setiap ujungnya.

type Middle = [string, ...number[], boolean]
const m: Middle = ["start", 1, 2, false]
console.log(m[0], m[m.length - 1]) // start false

Hanya Satu Elemen Sisa per Tupel

Sebuah tupel boleh memuat paling banyak satu elemen sisa. Dua elemen sisa akan membuat posisi elemen menjadi ambigu, sehingga tidak diizinkan.

// type Bad = [...string[], ...number[]] // Error: only one rest allowed
type Ok = [string, ...number[]]
const o: Ok = ["x", 1]
console.log(o)

Mendestrukturisasi Tupel Sisa

Destrukturisasi sangat cocok dengan elemen sisa tupel. Pengikatan tetap mengambil slot tetap, sedangkan pengikatan sisa menangkap bagian variabel sebagai larik bertipe.

type Row = [string, ...number[]]
const row: Row = ["scores", 9, 8]
const [label, ...values] = row
console.log(label, values) // scores [9, 8]

Elemen Tupel Berlabel

Anda dapat memberi nama pada posisi tupel untuk dokumentasi. Label muncul dalam keterangan alat dan signatur, tetapi tidak mengubah nilai saat dijalankan.

type Range = [start: number, end: number]
const span: Range = [0, 10]
console.log(span[0], span[1]) // 0 10

Label pada Elemen Sisa

Elemen sisa juga dapat diberi label, yang sangat membantu pada tupel parameter fungsi agar petunjuknya mudah dibaca.

type Args = [command: string, ...flags: string[]]
const a: Args = ["build", "--watch", "--minify"]
console.log(a[0], a.slice(1))

Tupel Sisa sebagai Daftar Parameter

Tupel dengan elemen sisa dapat menjelaskan daftar parameter fungsi, sehingga memungkinkan signatur tetap lalu variadik yang tepat melalui penyebaran.

type Params = [name: string, ...scores: number[]]
function report(...args: Params): string {
  const [name, ...scores] = args
  return name + ": " + scores.join(",")
}
console.log(report("Ada", 9, 8))

Mengapa Tupel Sisa Penting

Tupel sisa mengungkapkan struktur yang tidak dapat dinyatakan oleh larik biasa: bagian pembuka wajib dengan isi variabel, isi variabel dengan bagian penutup wajib, atau keduanya. Tupel ini menjadi dasar pengetikan fungsi variadik.

type CSVRow = [id: number, ...fields: string[]]
const row: CSVRow = [1, "Ada", "Engineer"]
console.log(row[0], row.slice(1))

Pemeriksaan Singkat

Uji pemahaman Anda tentang elemen sisa tupel.

Rangkuman

Elemen sisa tupel (...T[]) memungkinkan satu posisi menampung sejumlah elemen, sementara elemen tetap di awal dan di akhir tetap wajib ada. Elemen sisa dapat berada di akhir, di awal, atau di tengah, tetapi setiap tupel hanya boleh memiliki satu elemen sisa. Destrukturisasi mengikuti struktur ini, label menambahkan petunjuk yang mudah dibaca, dan tupel sisa menjadi dasar pengetikan fungsi variadik.

Pertanyaan yang Sering Diajukan

Apakah pelajaran “Elemen Rest Tuple” gratis?

Ya — teks lengkap “Elemen Rest Tuple” gratis dibaca di sini di web. Untuk praktiknya secara interaktif (editor kode bawaan dan tutor AI 24/7) dan buka sisa kursus TypeScript Academy, upgrade ke CoddyKit PRO. Kursus TypeScript Academy mencakup 4 pelajaran total.

Apa yang akan aku pelajari di “Elemen Rest Tuple”?

Gunakan elemen rest di dalam jenis tuple. Kamu berlatih TypeScript Academy dengan kode praktik yang langsung kamu jalankan di browser, dan tutor AI 24/7 menjawab pertanyaanmu saat kamu mengerjakan pelajaran ini.

Apakah aku perlu pengalaman untuk memulai TypeScript Academy?

Tidak diperlukan pengalaman sebelumnya. TypeScript Academy di CoddyKit dirancang untuk pemula hingga pelajar tingkat lanjut, jadi kamu bisa memulai di sini atau dari awal dan belajar sesuai kecepatan kamu sendiri. Ini adalah pelajaran 3 dari 4.

Berapa lama pelajaran “Elemen Rest Tuple” memakan waktu?

Sebagian besar pelajaran CoddyKit memakan waktu sekitar 5–10 menit. Setiap pelajaran ringkas dan interaktif, jadi kamu membuat kemajuan stabil dan melanjutkan dari tempat kamu tinggalkan di web dan aplikasi.

Bisakah aku menulis dan menjalankan kode dalam pelajaran TypeScript Academy ini?

Ya. Setiap pelajaran TypeScript Academy menyertakan editor kode bawaan, jadi kamu menulis dan menjalankan kode nyata langsung di browser dan mendapatkan umpan balik AI instan — tidak diperlukan penyiapan lokal.

Semua pelajaran dalam kursus ini

  1. Parameter Rest dalam Fungsi
  2. Spread dalam Array dan Objek
  3. Elemen Rest Tuple
  4. Menentukan Jenis Fungsi Variadik
← Kembali ke TypeScript Academy