Mereka berbeza dalam tiga cara: scope, hoisting behavior, dan reassignment.
js
() {
() {
a = ;
b = ;
c = ;
}
.(a);
.(b);
}
Mereka berbeza dalam tiga cara: scope, hoisting behavior, dan reassignment.
() {
() {
a = ;
b = ;
c = ;
}
.(a);
.(b);
}
var adalah function-scoped, hoisted dan diinisialisasi ke undefined, dan dapat dideklarasikan semula. Ini menyebabkan kebocoran yang mengejutkan — hindari.let adalah block-scoped ({ }), dapat diassign kembali, dan berada di temporal dead zone hingga baris deklarasinya (mengakses lebih awal membuang kesalahan).const adalah block-scoped dan tidak dapat diassign kembali — tetapi perhatikan bahwa binding adalah konstan, bukan nilainya:const user = { name: "Ann" };
user.name = "Bob"; // ✅ allowed — mutating the object, not reassigning
user = {}; // ❌ TypeError — can't rebind `user`
Secara default gunakan const; beralih ke let hanya ketika Anda harus menetapkan kembali; jangan pernah gunakan var dalam kode baru. Ini membuat maksud jelas ("ini tidak akan berubah") dan menghindari kebocoran scope dan kebingungan hoisting yang dibawa var.
Pustaka soalan temu duga IT dengan jawapan terperinci — daripada Junior hingga Senior.
Derma