Sobes.tech
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 вақте истифода мешавад, ки қимати тағйирёбанда тағйир хоҳад ёфт.