0Pricing
TypeScript Academy · Pelajaran

Inferensi Tipe dan any vs unknown

Lihat cara TypeScript melakukan inferensi tipe, perbedaan any dan unknown, serta pengaruh const terhadap inferensi.

Inferensi Tipe dan any vs unknown adalah pelajaran TypeScript Academy gratis di CoddyKit. Ini adalah pelajaran 2 dari 3. 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 3 pelajaran total.

Pengantar

Tujuan: Pelajari cara TS menyimpulkan tipe dari nilai, serta bandingkan any dengan unknown demi keamanan.

Inferensi dengan let & const

Inferensi: let menyimpulkan tipe yang lebih umum (number). const menyimpulkan tipe literal ("TS").

let count = 5;       
 // inferred number
const title = "TS"; 
// inferred literal type "TS"
console.log(count, title);

as const

as const mempertahankan tipe literal dan menjadikan nilai bersifat hanya-baca. Berguna untuk enum dan larik konfigurasi.

const colors = ["red", "green", "blue"] as const;

// type is readonly ["red","green","blue"]

console.log(colors);

Tipe any

any menonaktifkan pemeriksaan tipe. Tipe ini memberikan kebebasan, tetapi menghilangkan keamanan: kesalahan dapat lolos saat kompilasi dan menyebabkan program berhenti saat runtime.

let flexible: any = 42;

lexible = "hello";

flexible.nonexistentMethod(); 

// no error at compile time!

Tipe unknown

unknown mengharuskan Anda memeriksa tipe sebelum menggunakannya. Tipe ini lebih aman daripada any karena Anda tidak dapat memanggil metode secara sembarangan.

let input: unknown = "hello";

// Must narrow before use

if (typeof input === "string") { 
    console.log(input.toUpperCase());
}

Kapan menggunakannya

Pedoman: Utamakan inferensi untuk sebagian besar variabel. Gunakan anotasi eksplisit untuk kejelasan. Hindari any; pilih unknown saat tipenya belum diketahui.

Pemeriksaan any vs unknown

Pemeriksaan singkat: Apa perbedaan utama antara any dan unknown?

Ringkasan

Ringkasan: TS menyimpulkan tipe secara otomatis. const mempersempit tipe menjadi literal, sedangkan as const mengunci nilai. any menonaktifkan keamanan; unknown mewajibkan pemeriksaan.

Pertanyaan yang Sering Diajukan

Apakah pelajaran “Inferensi Tipe dan any vs unknown” gratis?

Ya — teks lengkap “Inferensi Tipe dan any vs unknown” 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 3 pelajaran total.

Apa yang akan aku pelajari di “Inferensi Tipe dan any vs unknown”?

Lihat cara TypeScript melakukan inferensi tipe, perbedaan any dan unknown, serta pengaruh const terhadap inferensi. 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 2 dari 3.

Berapa lama pelajaran “Inferensi Tipe dan any vs unknown” 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. Tipe Primitif dan Anotasi
  2. Inferensi Tipe dan any vs unknown
  3. Tipe Union dan Literal (pengantar penyempitan dasar)
← Kembali ke TypeScript Academy