Программалоодо өзгөрмөлөрдү түшүнүү
Өзгөрмө деген эмне?
Өзгөрмөлөр программалоонун маанилүү элементтери болуп саналат, анткени алар компьютер программасында шилтеме жасоого жана башкарууга мүмкүн болгон маалыматты сактоо үчүн колдонулат. Алар программаларды окурманга жана өзүбүзгө түшүнүктүү кылып, сүрөттөмө ат менен маалыматтарды маркировкалоонун жолун камсыздайт. Өзгөрмөлөрдү маалыматты сактаган контейнерлер деп эсептеңиз. Алардын бирден-бир максаты - маалыматтарды белгилөө жана эстутумда сактоо, аны кийин программаңызда колдонсо болот.
Өзгөрмөлөргө маанилерди дайындоо
Өзгөрмөлөрдү атоо кыйын болушу мүмкүн; так жана кыска өзгөрмө аттары менен келүү кыйын болушу мүмкүн. Бирок, өзгөрмөлөрдү атоодо сүрөттөмө жана түшүнүктүүлүккө артыкчылык берүү маанилүү. Башкалар, анын ичинде келечекте сиз да кодду окуп, түшүнүшү керек экенин унутпаңыз. Өзгөрмөнүн максатын так чагылдырган аттарды колдонуу кодуңузду окууну жана тейлөөнү жеңилдетет. Программалоодо сиз өзгөрмөлөргө маанилерди =
символу аркылуу ыйгарасыз, өзгөрмөнүн аты сол жана мааниси оң.
Мисалы:
let firstName = 'Joe';
console.log(firstName);
// Output: Joe
Бул жерде "Джо" сабы "firstName" өзгөрмөсүнө дайындалган.
Эскертүү: =
дайындоо операторун ==
теңдик оператору менен чаташтырбаңыз. =
оператору маанини дайындайт, ал эми ==
эки маанинин бирдей экендигин текшерет.
Колдонуучудан маалымат алуу
Колдонуучунун өз ара аракеттенүүсүнө уруксат берүү үчүн, сиз колдонуучунун киргизгенин жазуу ыкмаларын колдонсоңуз болот. JavaScript'те муну prompt
пакети менен жасоого болот.
Мисалы:
const prompt = require('prompt');
prompt.start();
let { name } = await prompt.get(["name"]);
console.log(name);
// Input: Bob
// Output: Bob
Prompt
функциясы колдонуучудан киргизген маалыматтарды алат жана аны name
өзгөрмөсүндө сактайт.
Variable Scope
Өзгөрмөнүн масштабы анын программанын ичинде жеткиликтүүлүгүн аныктайт. Колдонуу чөйрөсү өзгөрмөнүн инициализацияланган жери менен аныкталат.
Функциялардагы өзгөрмө масштабы
Функцияларда функциянын ичинде инициализацияланган өзгөрмөлөр ошол функциянын ичинде гана жеткиликтүү.
Мисалы:
let name = 'Somebody Else';
function printFullName(firstName, lastName) {
let name = firstName + ' ' + lastName;
console.log(name);
}
printFullName('Peter', 'Henry'); // prints Peter Henry
printFullName('Lynn', 'Blake'); // prints Lynn Blake
console.log(name); // prints Somebody Else
Бул жерде "printFullName" функциясынын ичиндеги "name" өзгөрмөсү анын сыртындагы "name" өзгөрмөсүнөн өзүнчө.
Variable Scope жана блоктор
Блок бул if
, for
же while
сыяктуу башкаруу операторунан кийинки коддун бөлүгү жана {}
тармал кашаалар менен чектелген.
Мисалы:
let total = 0;
\[1, 2, 3].forEach(function(number) {
total += number;
});
console.log(total); // Output: 6
total = 0;
for (let i = 0; i < 3; i++) {
total += (i + 1);
}
console.log(total); // Output: 6
Эки учурда тең блок блоктон тышкары аныкталган total
өзгөрмөсүнө кире жана өзгөртө алат. Бирок, блоктун ичинде инициализацияланган өзгөрмөлөргө (мисалы, "i" жана "сан") блоктон тышкары кирүүгө болбойт.
Өзгөрмөлөрдүн түрлөрү
JavaScriptте өзгөрмөлөрдүн үч түрү бар: var
, let
жана const
.
- var: Өзгөрүлмөлөрдү жарыялайт, ыктыярдуу түрдө аны мааниге инициализациялайт. var
функциянын чөйрөсүнө ээ, башкача айтканда, ал жарыяланган функцияда жеткиликтүү.
var varVariable = 'I am a var variable';
- let: Блоктун масштабдуу локалдык өзгөрмөсүн жарыялайт, ыктыярдуу түрдө аны мааниге инициализациялайт. Блоктун масштабына байланыштуу var
га караганда kel
артык.
let letVariable = 'I am a let variable';
- const: Блокко багытталган, окууга гана арналган константты жарыялайт. const
өзгөрмөнүн маанисин кайра дайындоо аркылуу өзгөртүүгө болбойт.
const constVariable = 'I am a const variable';
Өзгөрмө масштабынын мисалы
let a = 5; // variable is initialized in the outer scope
for (let i = 0; i < 3; i++) {
// block scope with a for loop
a = 3; // a is accessible here, in an inner scope
let b = 5; // b is initialized in the inner scope
}
console.log(a); // Output: 3
console.log(b); // ReferenceError: b is not defined
Бул мисалда “a” өзгөрмөсүнө блоктун ичинде жана сыртында жеткиликтүү, ал эми “b” блоктун ичинде гана жеткиликтүү.
Өзгөрмөлөрдү, көлөмүн жана түрлөрүн түшүнүү так жана эффективдүү программаларды жазуу үчүн негиз болуп саналат. Өзгөрмөлөрдү кылдаттык менен атоо жана колдонуу менен сиз функционалдык жана түшүнүктүү код түзө аласыз.