Junior
Фарқи байни let ва var чист?
sobes.tech AI
Ҷавоб аз AI
var дорои доираи функсионалӣ ё глобалӣ, метавонад дубора эълон ва навсозӣ шавад. Ба Hoisting тобеъ аст ва ҳамчун undefined оғоз мешавад. let дорои доираи блокӣ аст, метавонад навсозӣ шавад, аммо дар ҳамон доира дубора эълон кардан мумкин нест. Ҳамчунин ба Hoisting тобеъ аст, аммо дар "зонаи маргии муваққат" қарор дорад то оғози инициализация.
Таблиғи муқоиса:
| Хусусият | var |
let |
|---|---|---|
| Доираи амал | Функсионалӣ/Глобалӣ | Блокӣ |
| Дубора эълон кардан | Бале | Не |
| Навсозӣ кардан | Бале | Бале |
| Hoisting | Бале | Бале |
| Инициализация | undefined |
- (зонаи маргии муваққат) |
Масалан:
// var
function мисолVar() {
var x = 10;
if (true) {
var x = 20; // Дубора эълон кардани x
console.log(x); // 20
}
console.log(x); // 20
}
// let
function мисолLet() {
let y = 10;
if (true) {
let y = 20; // Нави тағйирёбандаи y дар доираи блок
console.log(y); // 20
}
console.log(y); // 10
}
мисолVar();
мисолLet();