Koşullu bir ifade, belirli bir koşula dayalı olarak bir kod bloğu çalıştırmanıza izin verir.
JavaScript dili, koşullu ifadeleri kullanmanın çeşitli yollarını sunar. Birçoğu diğer programlama dillerinde de ortaktır. Ancak bireysel faydalarının ve JavaScript’te nasıl çalıştıklarının farkında olmalısınız.
1. if-else ve else-if İfadeleri
Bir if-else ifadesi, koşulu doğruysa bir bloğu ve yanlışsa diğer bloğu yürütür. Bir else-if, birkaç koşuldan biriyle eşleşen bloğu veya hiçbir koşul eşleşmezse varsayılan bir bloğu yürütür.
Doğruluk değeri, JavaScript’in kendisiyle bir boole bağlamında karşılaştığında doğru kabul ettiği bir değerdir . Falsy değeri, JavaScript’in kendisiyle bir boole bağlamında karşılaştığında false olarak değerlendirdiği bir değerdir.
JavaScript, yanlış olan az sayıdan biri olmadıkça tüm değerleri doğru olarak kabul eder. Falsy değerleri false , 0 , -0 , 0n , “” , null , undefined ve NaN’dir .
Bir if-else ifadesinin sözdizimi şöyledir:
if (condition) {
// If the condition is a truthy value, this code block will run
} else {
// If the condition is a falsy value, this code block will run
}
Bazı durumlarda, ilgili birkaç koşulu kontrol etmek isteyebilirsiniz. Bu senaryolarda, ekstra koşulları değerlendirmek için bir else-if kullanabilirsiniz.
Örneğin:
if (condition) {
// If the condition is truthy, this code block will run, and code execution
// will stop.
} else if (condition_2) {
// If the first condition is falsy, this code block will run if condition_2
// is truthy
} else if (condition_n) {
// If the previous conditions are both falsy, this code block will run if
// condition_n is truthy
} else {
// If all conditions are falsy, this code block will run
}
else-if deyimlerini kullanarak istediğiniz kadar koşul değerlendirebilirsiniz. Bununla birlikte, bu yöntem, koşulların sayısı arttıkça hızla çirkinleşir ve bakımı zorlaşır.
JavaScript, switch deyimi adı verilen birden çok koşulu değerlendirmek için daha temiz bir yol sağlar.
2. Anahtar Bildirimi
Switch deyimi , bir ifadeyi bir kez değerlendirir ve onu bir veya daha fazla olası değerle eşleştirmeye çalışır. Bir case anahtar sözcüğünden sonra potansiyel olarak eşleşen her bir değeri sağlayabilirsiniz.
switch deyimi bir eşleşme bulduğunda, ondan sonraki tüm deyimleri bir break deyimiyle karşılaşana kadar çalıştırır.
İşte switch deyiminin sözdizimi:
switch (expression) {
case ‘first-case’:
// executes code if the expression matches this case
break;
case ‘case_2’:
// executes code if the expression matches this case
break;
default:
// executes code if the expression doesn’t match any case
}
Break ifadeleri , switch bloğunun önemli bir parçasıdır çünkü kodun yürütülmesinin nerede durdurulacağını belirtirler. Bir break ifadesini kaçırırsanız, kod yürütme devam edecek ve ilk eşleşmeden sonra diğer tüm kod bloklarını yürütecektir. Bu nadiren olmasını isteyeceğiniz bir şeydir.
3. Üçlü Operatör
JavaScript ayrıca, üçlü işleci kullanarak koşullu ifadeleri kısaltmanıza olanak tanır.
Üçlü operatör üç işlenen alır:
Bir koşul ve ardından bir soru işareti ( ? ) gelir.
Soru işaretinden sonra ve iki noktadan ( : ) önce bir ifade. Koşul doğruysa bu çalışacaktır.
Koşul yanlışsa çalışacak olan kolondan sonra bir ifade.
Örneğin:
condition ? console.log(‘Condition is truthy’) : console.log(‘Condition is falsy’);
Yukarıdaki ifade, etkin bir şekilde “Eğer ‘koşul’ doğruysa, ilk mesajı günlüğe kaydedin, aksi takdirde ikinci iletiyi günlüğe kaydedin” anlamına gelir.
4. Kısa Devre
Kısa devre, bir ifadeyi soldan sağa değerlendirmek için OR ( || ) ve AND ( && ) mantıksal işleçlerinin kullanımını içeren bir tekniktir .
OR operatörünü içeren bir işlem, karşılaştığı ilk gerçek değeri döndürerek kısa devre yapacaktır. İfadedeki tüm değerler yanlış ise kısa devre yapar ve son yanlış değeri döndürür.
AND operatörünü kullanan bir işlem, karşılaştığı ilk yanlış ifadeyi döndürerek kısa devre yapacaktır. İfadedeki tüm ifadeler doğruysa kısa devre yapar ve son doğru değeri döndürür.
İşte OR işleci ile koşullu bir ifade yazmaya bir örnek.
app.listen(process.env.PORT || 3000)
Koşullu ifadeler yazmaya yönelik bu kısa devre yaklaşımı, Express uygulamalarında popülerdir. “ PORT ortam değişkeni varsa, onu kullanın; aksi takdirde, 3000 numaralı bağlantı noktasını kullanın”.
AND işleciyle koşullu bir ifade yazmanın bir örneğini burada bulabilirsiniz.
foo && console.log(‘foo is defined’)
Yukarıdaki kod bloğu, ” foo tanımlanmışsa, console.log() işlevini çağırın” anlamına gelir.
Bu teknik, koşullu yazmanın en kısa yoludur, ancak kodun okunmasını zorlaştırabilir. Özellikle daha büyük bir ekibin parçası olarak çalışırken, aşırı kullanmaktan kaçınmalısınız.
Koşullu İfadelerin Önemi
Koşullu ifadeler, programınızın karar vermesine izin veren şeydir. Onlar olmadan, kodunuz baştan sona düz bir yolda yürütülür. Ayrıca döngülerin birer parçasıdırlar. Onlar olmadan, döngüler sonsuza kadar çalışır ve uygulamanız çöker.