Mereka berbeda dalam tiga cara: scope, perilaku hoisting, dan reassignment.
js
() {
() {
a = ;
b = ;
c = ;
}
.(a);
.(b);
}
Mereka berbeda dalam tiga cara: scope, perilaku hoisting, dan reassignment.
() {
() {
a = ;
b = ;
c = ;
}
.(a);
.(b);
}
var adalah function-scoped, di-hoist dan diinisialisasi ke undefined, dan dapat dideklarasikan ulang. Ini menyebabkan kebocoran yang mengejutkan — hindari.let adalah block-scoped ({ }), dapat diberikan ulang, dan tinggal di temporal dead zone hingga baris deklarasinya (mengaksesnya lebih awal melempar error).const adalah block-scoped dan tidak dapat diberikan ulang — tetapi perhatikan bahwa pengikatan adalah konstanta, bukan nilainya:const user = { name: "Ann" };
user.name = "Bob"; // ✅ allowed — mutating the object, not reassigning
user = {}; // ❌ TypeError — can't rebind `user`
Secara default mulai dengan const; beralih ke let hanya saat Anda harus memberikan ulang; jangan pernah gunakan var dalam kode baru. Ini membuat niat jelas ("ini tidak akan berubah") dan menghindari kebocoran scope dan kebingungan hoisting yang dibawa var.
Perpustakaan pertanyaan wawancara IT dengan jawaban mendetail — dari Junior hingga Senior.
Donasi