Konsep skop dan penutupan dalam Javascript ialah blok asas yang diperlukan untuk penguasaan bahasa. Mereka adalah wira yang tidak didendang di sebalik Pembina, fungsi Kilang dan IIFE, untuk menamakan beberapa.
Artikel ini bertujuan untuk menerangkan skop dalam JavaScript menggunakan contoh praktikal. Dalam artikel seterusnya, kami akan membincangkan penutupan JavaScript.
Skop hanya menentukan tempat pembolehubah akan tersedia untuk digunakan dalam program JavaScript. Pada asasnya, terdapat dua jenis skop:
Dengan skop global, pembolehubah disediakan di mana-mana dan boleh digunakan di mana-mana dalam program. Secara teknikal, apabila pembolehubah tidak diisytiharkan dalam mana-mana fungsi atau { kurung kurawal }, ia dikatakan berada dalam skop global.
Sebaliknya, dengan skop setempat, pembolehubah hanya tersedia dalam konteks tertentu dan hanya boleh digunakan dalam konteks tersebut. Secara teknikal, apabila pembolehubah diisytiharkan dalam fungsi atau { kurung kurawal }, ia dikatakan berskop setempat.
let x = 3; // x (global scoped) function addXY () { let y = 5; // y (locally scoped) return x + y; // returns 8 since x is available anywhere in this program }
ECMAScript ialah spesifikasi piawai yang mentakrifkan ciri teras bahasa skrip seperti JavaScript, memastikan konsistensi dan kesalingoperasian merentas platform. Sama seperti Sistem Unit Antarabangsa (SI) menyediakan rangka kerja piawai untuk pengukuran seperti meter dan kilogram untuk memastikan konsistensi di seluruh dunia, ECMAScript menetapkan piawaian untuk bahasa skrip seperti JavaScript, memastikan ia berfungsi secara seragam merentas platform dan persekitaran yang berbeza.
Spesifikasi piawai untuk JavaScript ini telah berkembang melalui edisi, dengan ciri baharu dan penambahbaikan ditambah dalam setiap versi. Antara edisi ini ialah ES6 (ECMAScript 2015) yang menyediakan kemas kini utama yang memperkenalkan let/const.
Sebelum ES6, pembolehubah telah ditakrifkan dalam JavaScript dengan kata kunci var. Dengan var, pembolehubah boleh ditakrifkan semula dan dikemas kini. Walau bagaimanapun, pembolehubah var hanya skop tempatan dalam fungsi. Lanjutan skop setempat untuk memasukkan coretan dalam { kurung kurawal } telah diperkenalkan oleh ES6 melalui let/const. Ringkasnya, pembolehubah var diskop secara tempatan dalam fungsi tetapi diskop secara global di mana-mana tempat lain.
biar dan const memperkenalkan skop blok yang menjadikan pembolehubah hanya tersedia dalam set { kurung kurawal } yang paling hampir di mana pembolehubah itu ditakrifkan. Pendakap ini boleh menjadi gelung for, keadaan if-else, atau sebarang binaan JavaScript serupa yang lain. Pendakap gigi sebegitu juga dirujuk sebagai blok kod.
Contoh:
function addXYZ() { var x = 3; let y = 4; const z = 5; return x + y + z; // 12 } // These log undefined because var, let, and const variables are locally scoped within functions. console.log(x); console.log(y); console.log(z);
let age = 10; // global variable if (age < 18) { let letCandy = 2; // block-scoped variable console.log(`You are entitled to ${letCandy} candies`); } else { var varCandy = 4; // function-scoped variable console.log(`You are entitled to ${varCandy} candies`); } console.log(age); // Logs 10, as age is globally scoped console.log(letCandy); // Throws ReferenceError, as letCandy is block-scoped console.log(varCandy); // Logs 4, as varCandy is globally scoped outside of functions
Dalam artikel seterusnya, kita akan membincangkan skop dan penutup leksikal. Terima kasih kerana membaca.
Atas ialah kandungan terperinci Memahami Skop dalam JavaScript. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!