0Pricing
TypeScript Academy · Pelajaran

Tipe DOM dari lib & querySelector (pemeriksaan null ketat)

Pahami tipe DOM dari lib dan pilih elemen dengan aman menggunakan querySelector serta pemeriksaan null ketat.

Tipe DOM dari lib & querySelector (pemeriksaan null ketat) adalah pelajaran TypeScript Academy gratis di CoddyKit. Ini adalah pelajaran 1 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.

Pendahuluan

Tujuan: Gunakan tipe pustaka DOM dan querySelector dengan aman. Anda akan memeriksa null terlebih dahulu, lalu menggunakan tipe yang telah dipersempit untuk API elemen.

Tipe pustaka DOM

Pustaka DOM TS menyediakan tipe untuk global browser (misalnya, Document, HTMLElement, Event), yang mendukung IntelliSense dan pemeriksaan.

// DOM types come from the lib DOM definitions
// Examples: Document, HTMLElement, HTMLInputElement, Event

const title: string = document.title; // Document API
console.log("Title:", title);

Tipe querySelector

querySelector mengembalikan Element | null. Dengan strictNullChecks, Anda harus menangani kasus null secara eksplisit.

const el = document.querySelector("#app");
// el: Element | null with strictNullChecks
console.log("Found?", el !== null);

Penjaga dengan pengembalian awal

Tambahkan penjaga sejak awal: periksa null, lalu kembalikan nilai atau lempar kesalahan. Setelah penjaga tersebut, variabel tidak bernilai null di cabang itu.

function mount() {
  const root = document.querySelector("#app");
  if (!root) {
    console.warn("No #app found");
    return; // root is narrowed below only if present
  }
  // root: Element
  root.innerHTML = "<strong>Hello TS + DOM</strong>";
}

mount();

Persempitan subtipe

Persempit lebih lanjut dengan instanceof ke subtipe tertentu seperti HTMLInputElement agar API khusus elemen tersedia.

function readInputValue() {
  const input = document.querySelector("#name");
  if (!(input instanceof HTMLInputElement)) {
    return; // not an <input>
  }
  // input: HTMLInputElement
  console.log("value=", input.value);
}

readInputValue();

Kehati-hatian terhadap asersi non-null

Hindari asersi non-null (!) kecuali Anda benar-benar yakin. Penjaga membuat waktu jalan lebih aman.

function bad() {
  const root = document.querySelector("#app")!; // unsafe if #app missing
  // Potential runtime error below if root is actually null
  root.textContent = "unsafe";
}

// Prefer guarded version instead of non-null assertion

Pemeriksaan pola penjaga

Pemeriksaan singkat: Setelah const el = document.querySelector("#app") dengan pemeriksaan null ketat, apa langkah aman berikutnya?

Ringkasan

Ringkasan: Tipe DOM mendukung IntelliSense. querySelector mengembalikan Element | null; tambahkan penjaga terlebih dahulu, lalu gunakan hasilnya. Persempit dengan instanceof untuk API khusus elemen.

Pertanyaan yang Sering Diajukan

Apakah pelajaran “Tipe DOM dari lib & querySelector (pemeriksaan null ketat)” gratis?

Ya — teks lengkap “Tipe DOM dari lib & querySelector (pemeriksaan null ketat)” 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 “Tipe DOM dari lib & querySelector (pemeriksaan null ketat)”?

Pahami tipe DOM dari lib dan pilih elemen dengan aman menggunakan querySelector serta pemeriksaan null ketat. 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 1 dari 3.

Berapa lama pelajaran “Tipe DOM dari lib & querySelector (pemeriksaan null ketat)” 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 DOM dari lib & querySelector (pemeriksaan null ketat)
  2. Tipe peristiwa, peristiwa khusus; penyempitan subtipe HTMLElement
  3. Bekerja dengan FormData, URL, URLSearchParams
← Kembali ke TypeScript Academy