Angkat Pembolehubah Diisytiharkan dengan Let dan Const
Hoisting ialah mekanisme JavaScript yang memindahkan pengisytiharan ke bahagian atas skopnya pada permulaan perlaksanaan program tersebut. Walau bagaimanapun, tidak seperti pengisytiharan var, let dan const angkat berbeza dari segi permulaan pembolehubah.
Angkat Pengisytiharan
Semua pengisytiharan dalam JavaScript dinaikkan, termasuk yang menggunakan var, let, const, function, function* dan class. Ini bermakna bahawa pengecam dalam skop akan sentiasa merujuk kepada pembolehubah yang diisytiharkan.
Hoisting vs. Initialization
Perbezaan antara pengisytiharan var/function/function* dan let /const/class pengisytiharan terletak pada permulaan mereka. pengisytiharan var/function/function* dimulakan dengan undefined atau badan fungsi apabila mengikat penciptaan pada permulaan skop. Walau bagaimanapun, pembolehubah yang diisytiharkan secara leksikal (let/const/class) kekal tidak dimulakan.
Zon Mati Sementara untuk Let dan Const
Keadaan tidak diinisialisasi pembolehubah yang diisytiharkan secara leksikal mencipta " zon mati temporal" di mana mengaksesnya sebelum permulaan menghasilkan ReferenceError. Zon mati temporal wujud daripada penciptaan pembolehubah sehingga pernyataan let/const/class dilaksanakan.
Persamaan antara Let dan Const
Kedua-dua let dan const mempamerkan pengangkatan yang sama tingkah laku. Satu-satunya perbezaan yang ketara ialah pemalar mesti diberikan hanya dalam pengisytiharan mereka (const one = 1;), manakala biarkan membenarkan penugasan semula.
Kesimpulan
Sementara semua pengisytiharan adalah dinaikkan dalam JavaScript, pembolehubah let dan const kekal tidak dimulakan sehingga pernyataan pengisytiharan mereka dinilai, mewujudkan zon mati sementara. Perbezaan ini penting untuk mengelakkan merujuk pembolehubah yang tidak dimulakan dan memastikan tingkah laku yang dimaksudkan bagi kod anda.
Atas ialah kandungan terperinci Bagaimana Pengangkat Berfungsi Berbeza untuk `let` dan `const` Berbanding dengan `var` dalam JavaScript?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!