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 assertionPemeriksaan 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
- Tipe DOM dari lib & querySelector (pemeriksaan null ketat)
- Tipe peristiwa, peristiwa khusus; penyempitan subtipe HTMLElement
- Bekerja dengan FormData, URL, URLSearchParams