Rumah  >  Artikel  >  hujung hadapan web  >  Apakah perbezaan antara let dan const dalam es6

Apakah perbezaan antara let dan const dalam es6

青灯夜游
青灯夜游asal
2022-04-19 16:28:565055semak imbas

Perbezaan: 1. Mari mengisytiharkan pembolehubah, yang nilai dan jenisnya boleh ditukar, manakala const mengisytiharkan pemalar, yang tidak boleh diubah atau ditetapkan semula 2. biarkan pembolehubah tidak perlu dimulakan selepas pengisytiharan Sebagai untuk pemalar const, setelah diisytiharkan, ia mesti dimulakan serta-merta;

Apakah perbezaan antara let dan const dalam es6

Persekitaran pengendalian tutorial ini: sistem Windows 7, ECMAScript versi 6, komputer Dell G3.

let dan const ialah dua kata kunci baharu yang diperkenalkan dalam es6 untuk mengisytiharkan pembolehubah Walaupun kami masih boleh menggunakan pembolehubah var yang diketahui secara meluas, kini kami mempunyai dua alat yang lebih berkuasa: let dan const.

Perbezaan antara let dan const dalam es6

① Apa yang diisytiharkan oleh let ialah pembolehubah, dan nilai serta jenisnya boleh ditukar; mengisytiharkan Pemalar yang nilai dan jenisnya tidak boleh diubah.

② Biar pembolehubah tidak perlu dimulakan selepas diisytiharkan, tetapi pemalar const, setelah diisytiharkan, mesti dimulakan serta-merta dan tidak boleh diberikan nilai kemudian.

const i ; // 报错,一旦声明,就必须立即初始化
const j = 5;
j = 10; // 报错,常量不可以改变

③ const sentiasa menunjuk ke alamat tetap, manakala let tidak tetap

const foo = {};
 
// 为 foo 添加一个属性,可以成功
foo.prop = 123;
foo.prop // 123
 
// 将 foo 指向另一个对象,就会报错
foo = {}; // TypeError: "foo" is read-only

Dalam kod di atas, foo pemalar menyimpan alamat, dan alamat ini menghala ke objek. Satu-satunya perkara yang tidak boleh diubah ialah alamat ini, iaitu, anda tidak boleh menunjuk foo ke alamat lain, tetapi objek itu sendiri boleh berubah, jadi anda masih boleh menambah sifat baharu padanya.

Nota:

Untuk pembolehubah jenis komposit seperti tatasusunan dan objek, nama pembolehubah tidak menghala ke data, tetapi ke alamat di mana data berada. const hanya menjamin bahawa alamat yang ditunjukkan oleh nama pembolehubah kekal tidak berubah, tetapi tidak menjamin bahawa data pada alamat itu kekal tidak berubah, jadi anda mesti berhati-hati apabila mengisytiharkan pembolehubah jenis komposit sebagai pemalar.

const arr = [];
// 报错,[1,2,3]与[]不是同一个地址
arr = [1,2,3];
const arr = [];
// 不报错,变量名arr指向的地址不变,只是数据改变
arr[0] = 1;
arr[1] = 2;
arr[2] = 3;
console.log(arr.length); // 输出:3

Mata yang sama antara let dan const dalam es6:

① Hanya sah dalam skop peringkat blok di mana pengisytiharan adalah terletak.

② Tiada kenaikan pangkat pengisytiharan, dan terdapat zon mati sementara, yang hanya boleh digunakan selepas kedudukan yang diisytiharkan.

<script type="text/javascript">
console.log(dadi);
let dadi = 569;
</script>

Keputusan: Ralat akan dilaporkan

Apakah perbezaan antara let dan const dalam es6

③ Tidak boleh diulang.

[Cadangan berkaitan: tutorial video javascript, bahagian hadapan web]

Atas ialah kandungan terperinci Apakah perbezaan antara let dan const dalam es6. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel sebelumnya:Apakah maksud token dalam nod?Artikel seterusnya:Apakah maksud token dalam nod?