Skop Blok/Fungsi/Modul dan TDZ
Fahami skop blok, fungsi dan modul; lihat TDZ dalam tindakan dan elakkan pemboleh ubah terlepas.
Skop Blok/Fungsi/Modul dan TDZ ialah pelajaran Akademi JavaScript percuma di CoddyKit. Ini ialah pelajaran 2 daripada 3. Sebanyak 3 pelajaran dalam laluan pembelajaran ini boleh dibaca sepenuhnya secara percuma — selepas itu, CoddyKit PRO membuka akses kepada semua pelajaran, serta latihan praktikal dengan penyunting kod terbina dalam dan tutor kecerdasan buatan yang tersedia 24/7. Pelajaran ini merupakan sebahagian daripada laluan pembelajaran Akademi JavaScript, dan kemajuan anda disegerakkan merentas web serta aplikasi CoddyKit. Kursus Akademi JavaScript merangkumi sejumlah 3 pelajaran.
Pengenalan
Matlamat: Ketahui tempat pemboleh ubah berada dan masa pemboleh ubah boleh digunakan.
- Skop blok (let/const)
- Skop fungsi (var)
- Skop modul
- Keselamatan TDZ

Demonstrasi skop blok
Skop blok memastikan pemboleh ubah setempat pada sepasang pendakap keriting.
// Block scope: let/const exist only inside the braces
let lives = 3;
if (true) {
const bonus = 5;
let level = 1;
console.log("Inside block:", bonus, level);
}
console.log("Lives:", lives);
// Uncommenting next line would fail (not in scope):
// console.log(bonus, level);

Skop fungsi dengan var
var menggunakan skop fungsi, bukan skop blok. Utamakan let/const dalam JS moden.
// Function scope: var is visible across the whole function
function demo() {
if (true) {
var x = 10; // function-scoped
}
console.log("x is visible here:", x); // 10
}
demo();

Asas skop modul
Skop modul: pengikatan peringkat teratas adalah setempat kepada fail (modul ES).
// Module scope: top-level variables are local to the module file
const appName = "CoddyKit";
console.log("App name:", appName);
// In a real project, this would be its own file/module.
// Other files must import to access appName.

Zon Mati Temporal
TDZ menghalang pembacaan awal secara tidak sengaja. Isytiharkan dahulu, kemudian gunakan.
// TDZ: using let/const before declaration throws ReferenceError
try {
// Uncommenting would trigger TDZ:
// console.log(mode); // ReferenceError
let mode = "dark";
console.log("Mode after declare:", mode);
} catch (e) {
console.log("Caught:", e.message);
}

Perangkap skop
Perangkap:
- Jangan campurkan var dengan let/const dalam skop yang sama.
- Isytiharkan pemboleh ubah dekat dengan penggunaannya.
- Elakkan membaca nilai sebelum baris pengisytiharan (TDZ).

Kuiz TDZ
Semakan pantas: Tingkah laku TDZ.

Rumusan
Rumusan: let/const menggunakan skop blok; var menggunakan skop fungsi; modul mempunyai skop failnya sendiri; TDZ menghalang capaian terlalu awal.

Pelajari JavaScript dengan tutor kecerdasan buatan — percuma
Tulis dan jalankan kod sebenar dalam pelayar anda, dapatkan bantuan segera daripada tutor kecerdasan buatan yang tersedia 24/7, dan sambung semula dari tempat anda berhenti di web atau dalam aplikasi.
- Kursus
- 59
- Pelajaran
- 200
Soalan Lazim
Adakah pelajaran “Skop Blok/Fungsi/Modul dan TDZ” percuma?
Ya — sebanyak 3 pelajaran dalam laluan pembelajaran Akademi JavaScript, termasuk “Skop Blok/Fungsi/Modul dan TDZ”, boleh dibaca sepenuhnya secara percuma di web ini. Selepas itu, CoddyKit PRO membuka akses kepada semua pelajaran, serta latihan interaktif dengan penyunting kod terbina dalam dan tutor kecerdasan buatan yang tersedia 24/7. Kursus Akademi JavaScript merangkumi sejumlah 3 pelajaran.
Apakah yang akan saya pelajari dalam “Skop Blok/Fungsi/Modul dan TDZ”?
Fahami skop blok, fungsi dan modul; lihat TDZ dalam tindakan dan elakkan pemboleh ubah terlepas. Anda berlatih Akademi JavaScript menggunakan kod praktikal yang dijalankan terus dalam pelayar, manakala tutor kecerdasan buatan 24/7 menjawab soalan anda semasa anda mengikuti pelajaran.
Adakah saya memerlukan pengalaman untuk memulakan Akademi JavaScript?
Tiada pengalaman terdahulu diperlukan. Pembelajaran Akademi JavaScript di CoddyKit disusun untuk pelajar daripada peringkat pemula hingga lanjutan, jadi anda boleh bermula di sini atau dari awal dan belajar mengikut kadar anda sendiri. Ini ialah pelajaran 2 daripada 3.
Berapa lamakah pelajaran “Skop Blok/Fungsi/Modul dan TDZ” diambil?
Kebanyakan pelajaran CoddyKit mengambil masa kira-kira 5–10 minit. Setiap pelajaran ringkas dan interaktif, jadi anda boleh membuat kemajuan secara berterusan dan menyambung tepat dari tempat anda berhenti di web atau aplikasi.
Bolehkah saya menulis dan menjalankan kod dalam pelajaran Akademi JavaScript ini?
Ya. Setiap pelajaran Akademi JavaScript menyertakan penyunting kod terbina dalam, jadi anda boleh menulis dan menjalankan kod sebenar terus dalam pelayar serta menerima maklum balas kecerdasan buatan serta-merta — tanpa memerlukan persediaan setempat.
Semua pelajaran dalam kursus ini
- let, const dan Mengelakkan var
- Skop Blok/Fungsi/Modul dan TDZ
- Penamaan, Kebolehbacaan dan Perangkap Lazim