JavaScript-de if-else gurluşlarynda üýtgeýänleriň görkezme meýdanynyň nyuanslary
Üýtgeýänleriň görkezme meýdanynyň belli bir
nyuansy bar. Geliň ony mysal bilen gözden geçireliň.
Geliň şertimiziň daşynda bir bahasy bilen
res üýtgeýjisini hödürleýäliň, we şert içinde
bu bahany beýlekisine üýtgedeliň:
let res = 1;
if (true) {
res = 2;
}
console.log(res); // 2-ni çykarar
Görşüňiz ýaly, res üýtgeýjisi
şert içinde üýtgedi. Emma, şert içinde-de
res üýtgeýjisini let arkaly
hödürleseňiz, hemmesi üýtger:
let res = 1;
if (true) {
let res = 2; // üýtgeýjini let arkaly hödürläýäris
}
console.log(res); // 2 däl-de, 1-i çykarar!
Bu ýerde ähli zat şonda: şert içinde
let arkaly üýtgeýjäni hödürlemek
res üýtgeýäniniň lokal görkezme meýdanyny döretdi.
Ýagny, şert içinde bir res üýtgeýjisi
bar, şertiň daşynda bolsa beýleki.
Buna göz ýetirmek üçin, üýtgeýjiniň bahasyny
şert içinde konsola çykaryp bilersiňiz:
let res = 1;
if (true) {
let res = 2;
console.log(res); // 2-ni çykarar
}
console.log(res); // 1-i çykarar
Aşakda getirilen kodyň awtory 18
ýaşa ýetmegi barlamak isledi. Emma, kod
ýaşyň haýsy bahasynda bolsa-da konsolda
undefined bahasyny çykarýar.
Kod awtorynyň säwligini düzediň. Problemy kod:
let age = 17;
let adult;
if (age >= 18) {
let adult = true;
} else {
let adult = false;
}
console.log(adult);
Aşakda getirilen kodyň awtory 18
ýaşa ýetmegi barlamak isledi. Kody barlanyndan soň,
eger ýaş 18 ýaşa deň ýa-da uly bolsa,
adult üýtgeýjisine hökmany ýaly true ýazylýandygyny,
ýöne eger ýaş 18-den kiçi bolsa,
adult üýtgeýjisiniň undefined
bahasy bardygyny anyklady. Kod awtorynyň
säwligini düzediň.
Problemy kod:
let age = 17;
let adult;
if (age >= 18) {
adult = true;
} else {
let adult = false;
}
console.log(adult);
Aşakda getirilen kodyň awtory
ýaşy barlamak isledi. Emma, kod
ýaşyň haýsy bahasynda bolsa-da konsolda
undefined bahasyny çykarýar.
Kod awtorynyň säwligini düzediň.
Problemy kod:
let age = 17;
let res;
if (age >= 18) {
if (age <= 23) {
let res = '18-den 23-e çenli';
} else {
let res = '23-den uly';
}
} else {
let res = '18-den kiçi';
}
console.log(res);
Aşakda getirilen kodyň awtory
ýaşy barlamak isledi. Emma, kod
ýaşyň 18 ýaşdan uly bahasynda konsolda
undefined bahasyny çykarýar.
Kod awtorynyň säwligini düzediň.
Problemy kod:
let age = 19;
let res;
if (age >= 18) {
let res;
if (age <= 23) {
res = '18-den 23-e çenli';
} else {
res = '23-den uly';
}
} else {
res = '18-den kiçi';
}
console.log(res);