Sobes.tech
Junior

როდის უნდა გამოიყენოთ var, let და const ცვლადები?

sobes.tech AI

პასუხი AI-სგან

  • var: Эгер функциянын чөйрөсүндө өзгөрмө керек болсо же hoisting менен жарыялоо undefined менен болушу керек болсо. Эски ыкма, жаңы код үчүн сунушталбайт.
  • let: Блок чөйрөсүнө ээ, кайра аныкталышы мүмкүн (баалуулугун өзгөртүүгө болот) өзгөрмө керек болсо. Көпчүлүк учурларда ылайыктуу, өзгөрмө мааниси өзгөрүшү мүмкүн.
  • const: Блок чөйрөсүнө ээ, анын мааниси аныкталгандан кийин өзгөртүлбөшү керек болсо. Коддун иштөө учурунда өзгөрбөшү керек болгон маанилер үчүн колдонулат (константтар, DOM элементтерине шилтемелер, функциялар).
// `let` колдонуу мисалы
let count = 0;
if (true) {
  let count = 1; // Блок чөйрөсүндөгү жаңы өзгөрмө
  console.log(count); // 1
}
console.log(count); // 0

// `const` колдонуу мисалы
const PI = 3.14159;
// PI = 3; // Катуу: Константага берилүү.

const user = { name: 'Alex' };
user.name = 'John'; // уруксат берилген, объекттин мүчөсү өзгөртүлөт, шилтемеси эмес
console.log(user); // { name: 'John' }

// `var` колдонуу мисалы (кеңеш берилбейт)
var x = 10;
if (true) {
  var x = 20; // Функция чөйрөсүндө ошол эле өзгөрмөнү кайра аныктайт
  console.log(x); // 20
}
console.log(x); // 20