JavaScript'теги if-else ичиндеги өзгөрмөлөрдүн көрүнүү чөйрөсү
Жөнөкөйлүгү үчүн бизде ар дайым аткарылуучу шарт бар дейли:
javascriptif (true) {
}
Келгиле, төмөнкү кодду карап көрөлү:
javascriptif (true) {
let res = '!';
}
console.log(res);
Көрүп тургандай, res өзгөрмөсүнө
'!' мааниси жазылышы керек. Бирок,
бул кодду иштетсек, консолго ката чыгат!
Маселе мында, каша ичинде жарыяланган өзгөрмөлөр, ошол кашалардын ичинде гана көрүнөт, алардын сыртында көрүнбөйт. Илимий тил менен бул жерде өзгөрмөлөрдүн көрүнүү чөйрөсү жөнүндө сөз болот.
Каша ичинде жарыяланган өзгөрмөлөрдүн көрүнүү чөйрөсү ошол кашалардын өзү гана дей алабыз. Бирок, эгерде өзгөрмө кашалардын сыртында жарыяланса, анда ал ичинде да, сыртында да көрүнөт:
javascriptlet res; // өзгөрмө сыртта жарыяланды
if (true) {
res = '!';
}
console.log(res); // '!' чыгарат
Кийинки мисалда res өзгөрмөсүнө
шартка жараша же
1 мааниси, же 2 мааниси жазылат:
javascriptlet num = 5;
if (num >= 0) {
let res = 1;
} else {
let res = 2;
}
console.log(res);
Бирок, бул кодду иштетсек, консолго ката чыгат. Эми түшүнгөндөй эле, бардык иш өзгөрмөлөрдүн көрүнүүсүндө. Маселени чечүү үчүн өзгөрмөнү шарттын сыртында жарыялайлы:
javascriptlet test = true;
let res; // өзгөрмөнү шарттын сыртында жарыялайбыз
if (test) {
res = 1;
} else {
res = 2;
}
console.log(res); // 1 чыгарат
Төмөндө берилген коддун автору 18
жашка жеткендигин текшерүүнү каалаган. Код, бирок, иштебей жатат. Автордун
катасын оңдоп бериңиз. Мына маселелүү код:
javascriptlet age = 17;
if (age >= 18) {
let adult = true;
} else {
let adult = false;
}
console.log(adult);