Perbezaan: 1. Skop pembolehubah let adalah dalam kod peringkat blok di mana ia ditakrifkan, manakala skop pembolehubah var berada dalam skop fungsi yang merangkuminya; 2. Pembolehubah let tidak boleh diisytiharkan berulang kali, dan Pembolehubah var boleh diisytiharkan berulang kali;
Persekitaran pengendalian tutorial ini: sistem Windows 10, ECMAScript versi 6.0, komputer Dell G3.
let ialah kata kunci yang baru diperkenalkan dalam ES6 untuk memperbaiki pelbagai masalah yang disebabkan oleh var.
Berbanding dengan var, let secara amnya berbeza dalam aspek berikut:
1 Skop
Lulus Skop bagi. pembolehubah yang ditakrifkan oleh let adalah dalam kod peringkat blok di mana ia ditakrifkan dan sub-blok disertakan di dalamnya, dan pembolehubah tidak boleh ditambah dalam skop global.
Skop pembolehubah yang ditakrifkan melalui var ialah skop fungsi atau skop global termasuknya.
2 Pengisytiharan berulang
Pembolehubah yang ditakrifkan oleh let tidak boleh diisytiharkan berulang kali dalam skop yang sama .
Pembolehubah yang ditakrifkan oleh var diisytiharkan berulang kali dalam skop yang sama Apabila menjana konteks pelaksanaan, pengisytiharan berikutnya akan diabaikan.
3 Masalah seperti kenaikan pangkat yang disebabkan oleh zon mati sementara
Kami tahu bahawa sebelum kod dilaksanakan, pengisytiharan var dalam semua domain. akan diimbas, Pembolehubah, mulakannya kepada tidak ditentukan terlebih dahulu, dan kemudian laksanakan kod, yang merupakan fenomena "rangsangan".
Tetapi untuk pembolehubah yang diisytiharkan oleh let, ia berbeza. Imbasan sebelum kod dilaksanakan juga "menaikkan" pembolehubah let, tetapi tidak menetapkannya kepada undefined. Walaupun pembolehubah yang ditakrifkan oleh let telah dipromosikan, pembolehubah itu belum dimulakan sebelum kod yang memulakannya dilaksanakan Jika diakses pada masa ini, ReferenceError akan ditetapkan. Dari permulaan blok kod hingga pelaksanaan hingga penyiapan permulaan pembolehubah let, pembolehubah let telah diisytiharkan tetapi tidak boleh diakses. Tempoh masa ini dipanggil zon mati sementara.
[Cadangan berkaitan: tutorial video javascript, bahagian hadapan web]
Atas ialah kandungan terperinci Apakah perbezaan antara let dan var dalam es6. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!