Тхе ЈаваСцриптако Изјава изводи радњу засновану на стању, уобичајеном сценарију у свим програмским језицима. Тхе ако Изјава тестира мало података против стања, а затим одређује неки код који треба извршити ако је услов тачан, као што је:
ако је услов {
изврши овај код
}
Тхе ако Изјава је готово увек упарена са друго Изјава јер обично желите да дефинишете алтернативни бит кода који треба да извршите. Размотримо пример:
иф (име „Степхен“) {
мессаге = "Добродошао назад Степхен";
} елсе {
мессаге = "Добродошли" + име;
}
Овај код враћа „Велцоме бацк Степхен“ ако име је једнак Степхену; у супротном, враћа „Велцоме“ и тада све што вреднује променљиву име садржи.
Краћа изјава о ИФ-у
ЈаваСцрипт нам пружа алтернативни начин писања ако Изјава када истински и лажни услови само додељују различите вредности истој променљивој.
Овај краћи начин изоставља кључну реч ако као и заграде око блокова (који нису обавезни за појединачне изјаве). Такође премештамо вредност коју постављамо иу истинитим и лажним условима на предњу страну наше једине изјаве и уграђујемо овај нови стил ако изјаву у саму изјаву.
Ево како ово изгледа:
променљива = (услов)? труе-валуе: лажна вредност;
Па наше ако Изјава одозго би се могла све написати у једном ретку као:
мессаге = (име „Степхена“)? "Велцоме бацк Степхен": "Добродошли" + име;
Што се ЈаваСцрипта тиче, ова једна изјава је идентична дужем коду одозго.
Једина разлика је што писање изјаве на овај начин заправо омогућава ЈаваСцрипт с више информација о томе шта ако изјава ради. Код се може покренути ефикасније него што бисмо га написали на дуже и читљивији начин. То се такође назива а тернарни оператор.
Додјељивање више вриједности једној варијабли
Овакав начин кодирања изјаве иф може вам помоћи избјећи вербосе код, посебно у угнијежђено ако изјаве. На примјер, узмите у обзир овај низ угнијежђених иф / елсе изјава:
вар одговор;
ако је (а == б) {
ако је (а == ц) {
ансвер = "сви су једнаки";
} елсе {
ансвер = "а и б су једнаки";
}
} елсе {
ако је (а == ц) {
ансвер = "а и ц су једнаки";
} елсе {
ако је (б == ц) {
ансвер = "б и ц су једнаки";
} елсе {
ансвер = "сви су различити";
}
}
}
Овај код додељује једној варијабли једну од пет могућих вредности. Користећи ову алтернативну нотацију, можемо је значајно скратити у само једну изјаву која укључује све услове:
вар одговор = (а == б)? ((а == ц)? "сви су једнаки":
"а и б су једнаки"): (а == ц)? "а и ц су једнаки": (б == ц)?
"б и ц су једнаки": "сви су различити";
Имајте на уму да се овај запис може користити само када све различити услови који се тестирају додељују различите вредности исти променљива.