Tüm programlar düz yollar değildir. Örneğin, erp sistemleri gibi uygun duruma göre eldeki durumu temel alarak bir dallanma yolu oluşturmak isteyebiliriz. Buna koşullu yürütme denir.

Javascript’te JavaScript ile koşullu yürütme oluşturulur. Basit durumda, belirli bir koşulun tutulduğu takdirde, bazı kodların yürütülmesini isteriz. Örneğin, girdinin karesini yalnızca giriş aslında bir sayıysa göstermek isteyebiliriz.
let theNumber = Number(prompt(“Pick a number”));
if (!Number.isNaN(theNumber)) {
console.log(“Your number is the square root of ” +
theNumber * theNumber);
}
Bu değişiklikle, “papağan” girerseniz, çıkış gösterilmez.
Anahtar kelime bir Boole ifadesinin değerine bağlı olarak bir deyimi yürütür veya atlar. Karar verici ifade, anahtar kelimeden sonra, parantezler arasında, ardından yürütme ifadesiyle yazılır.
Number.isNaN işlevi, yalnızca verilen argüman NaN ise true döndüren standart bir JavaScript işlevidir. Sayı işlevi, geçerli bir sayıyı temsil etmeyen bir dize verdiğinizde NaN döndürmesi sağlanır. Böylelikle, koşul, “Sayı olmayan bir sayı olmadığı sürece” anlamına gelir.
Bu örnekteki iflar, parantez ({ve}) ile sarılır. Parantez, herhangi bir sayıdaki ifadeyi bir blok olarak adlandırılan tek bir ifadeye gruplamak için kullanılabilir. Bu durumda onları da ihmal etmiş olabilirsiniz, çünkü onlar sadece tek bir açıklamada bulunurlar, ancak gerekip gerekmediğini düşünmek zorunda kalmamak için, çoğu JavaScript programcısı bunları her sarılmış ifadede kullanır. Bu kitapta, çoğu zaman ara sıra olan tek liner hariç, çoğunlukla bu konuyu izleyeceğiz.
if (1 + 1 == 2) console.log(“It’s true”);
// → It’s true
Genellikle, bir koşul doğru olduğunda yürürlüğe koyan bir kodunuz olmaz, aynı zamanda diğer durumu ele alan kod da olmaz. Bu alternatif yol, diyagramdaki ikinci ok ile temsil edilir. İki ayrı, alternatif yürütme yolu oluşturmak için, else anahtar sözcüğünü birlikte kullanabilirsiniz.
let theNumber = Number(prompt(“Pick a number”));
if (!Number.isNaN(theNumber)) {
console.log(“Your number is the square root of ” +
theNumber * theNumber);
} else {
console.log(“Hey. Why didn’t you give me a number?”);
}
Seçim yapabileceğiniz ikiden fazla yolunuz varsa, / else çiftleri birlikte birden fazla “zincirleme” yapabilirsiniz. İşte bir örnek:
let num = Number(prompt(“Pick a number”));
if (num < 10) {
console.log(“Small”);
} else if (num < 100) {
console.log(“Medium”);
} else {
console.log(“Large”);
}
Program ilk önce num’in 10’dan küçük olup olmadığını kontrol edecektir. Varsa, o dalı seçer, “Küçük” gösterir ve yapılır. Eğer değilse, kendisinin bir saniye içerdiği başka şubeyi alır. İkinci koşul (<100) tutarsa, bu sayı 10 ile 100 arasındadır ve “Orta” gösterilir. Eğer olmazsa, ikinci ve diğer dallar seçilir.
Bu programın şeması şöyle bir şeye benziyor:
