Junior
Фарқи байни let ва const чист?
sobes.tech AI
Ҷавоб аз AI
let:
- Декларацияи тағйирёбандаи бо доираи блок.
- Тағйирёбанда метавонад такрор карда шавад.
- Дар ҳамон доираи тағйирёбанда такрор кардан мумкин нест.
const:
- Декларацияи константа бо доираи блок.
- Қимат такрор кардан мумкин нест (барои типҳои primitives). Барои объектҳо ва массивҳо, мазмуни онҳо метавонад тағйир ёбад, аммо нишондиҳанда на.
- Мавҷудияти онро бояд дар вақти декларация муайян кард.
- Дар ҳамон доираи тағйирёбанда такрор кардан мумкин нест.
// let
let count = 0;
count = 1; // Иҷозат дода мешавад
// let count = 2; // Хатогӣ: Cannot redeclare block-scoped variable 'count'.
// const
const maxItems = 10;
// maxItems = 11; // Хатогӣ: Assignment to constant variable.
const user = { name: 'Alice' };
user.name = 'Bob'; // Иҷозат дода мешавад, мазмуни объект тағйир меёбад
// const PI; // Хатогӣ: Missing initializer in const declaration
Истифодаи const беҳтар аст, агар қимати тағйирёбанда тағйир наёбад, зеро ин хонданро беҳтар мекунад ва аз навиштани тасодуфӣ пешгирӣ мекунад. let вақте истифода мешавад, ки қимати тағйирёбанда тағйир хоҳад ёфт.