Skip to content

Commit 82166ff

Browse files
gnwxsumn2u
authored andcommitted
translated conditional section
1 parent 69ee961 commit 82166ff

File tree

6 files changed

+289
-0
lines changed

6 files changed

+289
-0
lines changed

tr/conditional/README.md

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
---
2+
layout: editorial
3+
chapter: 5
4+
pageNumber: 29
5+
---
6+
7+
# Bölüm 5
8+
9+
# Conditional Logic (Koşullu mantık)
10+
11+
Koşul, bir durum için yapılan bir testtir. Koşullar programlama için çeşitli şekillerde çok önemlidir:
12+
13+
Her şeyden önce, koşullar, programınızın işleme koyduğunuz veri ne olursa olsun düzgün çalışmasını sağlamak için kullanılabilir. Eğer veriye körü körüne güvenirseniz, problem yaşarsınız ve programlarınız başarısız olur. Yapmak istediğiniz şeyin mümkün olup olmadığını ve gerekli tüm bilgilerin doğru formatta olup olmadığını test ederseniz, böyle bir şey olmaz ve programınız çok daha tutarlı olur. Bu tür önlemler almak, defansif programlama olarak da bilinir.
14+
15+
Koşulların sizin için yapabileceği bir diğer şey de dallanmaya (_branching_) izin vermektir. Daha önce dallanma diyagramlarıyla karşılaşmış olabilirsiniz, örneğin bir form doldururken. Temel olarak bu, koşulun sağlanıp sağlanmadığına bağlı olarak kodun farklı "dallarının" (bölümlerinin) çalıştırılması anlamına gelir.
16+
17+
Bu bölümde, JavaScript'te koşullu mantığın temelini öğreneceğiz.

tr/conditional/comparators.md

Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
---
2+
chapter: 5
3+
pageNumber: 34
4+
---
5+
6+
# Comparators (Karşılaştırıcılar)
7+
8+
Şimdi koşul kısmına odaklanalım:
9+
10+
```javascript
11+
if (country === "France") {
12+
...
13+
}
14+
```
15+
16+
Yukarıdaki kodda koşullu kısım `country` değişkeni ve ardından gelen üç eşittir işaretinden (`===`) oluşuyor. Üç eşit işareti, `country` değişkeninin hem doğru değere (`France`) hem de doğru türe (`String`) sahip olup olmadığını test eder. Koşulları çift eşittir işaretiyle de test edebilirsiniz, ancak `if (x == 5)` gibi bir koşul, hem `var x = 5;` hem de `var x = "5";` için doğru sonucu döndürecektir. Programınızın yaptığı işe bağlı olarak, bu oldukça farklılık yaratabilir. Önerilen yaklaşım, eşitliği her zaman iki eşit işareti (`==` ve `!=`) yerine üç eşit işareti (`===` ve `!==`) ile karşılaştırmanızdır.
17+
18+
Diğer koşullu testler:
19+
20+
- `x > a`: x, a'dan büyük mü?
21+
- `x < a`: x, a'dan küçük mü?
22+
- `x <= a`: x, a'dan küçük veya a'ya eşit mi?
23+
- `x >=a`: x, a'dan büyük veya a'ya eşit mi?
24+
- `x != a`: x, a'ya eşit değil mi?
25+
- `x`: x var mı?
26+
27+
## Logical Comparison (Mantıksal Karşılaştırma)
28+
29+
if-else karmaşasından kaçınmak için basit mantıksal karşılaştırmalar kullanılabilir.
30+
31+
```javascript
32+
let topper = marks > 85 ? "YES" : "NO";
33+
```
34+
35+
Yukarıdaki örnekte `?` mantıksal bir operatördür. Kod, marks değeri 85'ten büyükse, yani `marks > 85` ise `topper = YES`; aksi takdirde `topper = NO` olduğunu söyler. Temel olarak, karşılaştırma koşulunun doğru olduğu kanıtlanırsa, ilk argümana erişilir ve karşılaştırma koşulu yanlışsa, ikinci argümana erişilir. (bkz: [Ternary Operator](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Conditional_operator))

tr/conditional/concatenate.md

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
---
2+
chapter: 5
3+
pageNumber: 35
4+
---
5+
6+
# Concatenate (Birleştirme)
7+
8+
Bunların yanı sıra, farklı koşulları "`or`" veya "`and`" ifadeleriyle birleştirerek, sırasıyla ifadelerden birinin veya her ikisinin doğru olup olmadığını test edebilirsiniz.
9+
10+
JavaScript'te "or" `||` ve "and" `&&` olarak yazılır.
11+
12+
Diyelim ki x değerinin 10 ile 20 arasında olup olmadığını test etmek istiyorsunuz. Bunu aşağıdaki gibi yapabilirsiniz:
13+
14+
```javascript
15+
if (x > 10 && x < 20) {
16+
...
17+
}
18+
```
19+
20+
Eğer o ülkenin "İngiltere" ya da "Almanya" olduğundan emin olmak istiyorsanız:
21+
22+
```javascript
23+
if (country === "England" || country === "Germany") {
24+
...
25+
}
26+
```
27+
28+
> **Note**: Tıpkı sayılar üzerindeki işlemler gibi, koşullar da parantez kullanılarak gruplandırılabilir. Örneğin: `if ( (name === "John" || name === "Jennifer") && country === "France")`.

tr/conditional/else.md

Lines changed: 62 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,62 @@
1+
---
2+
chapter: 5
3+
pageNumber: 31
4+
---
5+
6+
# Else
7+
8+
Ayrıca, ilk koşul doğru olmadığında uygulanacak bir `else` ifadesi de vardır. Herhangi bir değere müdahale etmek, ancak özel muamele için özellikle birini ayırmak istiyorsanız bu çok güçlüdür.
9+
10+
```javascript
11+
let umbrellaMandatory;
12+
13+
if (country === "England") {
14+
umbrellaMandatory = true;
15+
} else {
16+
umbrellaMandatory = false;
17+
}
18+
```
19+
20+
`else` ifadesi başka bir `if` ile birleştirilebilir. Bir önceki yazıdaki örneği yeniden yapalım.
21+
22+
```javascript
23+
if (country === "England") {
24+
...
25+
} else if (country === "France") {
26+
...
27+
} else if (country === "Germany") {
28+
...
29+
}
30+
```
31+
32+
{% exercise %}
33+
Aşağıdaki değerlerden `num1`in `num2`den büyük olup olmadığını kontrol eden bir koşullu ifade yazın. Eğer büyükse, `result` değişkenine "num1 is greater than num2" atayın. Değilse, "num1 is less than or equal to num2" ifadesini atayın.
34+
35+
{% initial %}
36+
let num1 = 10;
37+
let num2 = 5;
38+
let result;
39+
40+
// num1'in num2'den büyük olup olmadığını kontrol et
41+
if( condition ) {
42+
43+
}else {
44+
45+
}
46+
{% solution %}
47+
let num1 = 10;
48+
let num2 = 5;
49+
let result;
50+
51+
// num1'in num2'den büyük olup olmadığını kontrol et
52+
if (num1 > num2) {
53+
result = "num1 is greater than num2";
54+
} else {
55+
result = "num1 is less than or equal to num2";
56+
}
57+
58+
{% validation %}
59+
assert(result == "num1 is greater than num2" );
60+
61+
{% context %}
62+
{% endexercise %}

tr/conditional/if.md

Lines changed: 51 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,51 @@
1+
---
2+
chapter: 5
3+
pageNumber: 30
4+
---
5+
6+
# If
7+
8+
En basit koşul ifadesi "if" ifadesidir ve sözdizimi (_syntax_) `if (koşul) { bunu yap ... }` şeklindedir. Koşul, süslü parantezlerin içindeki kodun yürütülmesi için doğru (_true_) olmalıdır. Örneğin, aşağıda açıklandığı gibi bir dizeyi test edebilir ve değerine bağlı olarak başka bir dizenin değerini ayarlayabilirsiniz.
9+
10+
```javascript
11+
let country = "France";
12+
let weather;
13+
let food;
14+
let currency;
15+
16+
if (country === "England") {
17+
weather = "horrible";
18+
food = "filling";
19+
currency = "pound sterling";
20+
}
21+
22+
if (country === "France") {
23+
weather = "nice";
24+
food = "stunning, but hardly ever vegetarian";
25+
currency = "funny, small and colourful";
26+
}
27+
28+
if (country === "Germany") {
29+
weather = "average";
30+
food = "wurst thing ever";
31+
currency = "funny, small and colourful";
32+
}
33+
34+
let message =
35+
"this is " +
36+
country +
37+
", the weather is " +
38+
weather +
39+
", the food is " +
40+
food +
41+
" and the " +
42+
"currency is " +
43+
currency;
44+
45+
console.log(message);
46+
// 'this is France, the weather is nice, the food is stunning, but hardly ever vegetarian and the currency is funny, small and colourful'
47+
```
48+
49+
{% hint style="info" %}
50+
Koşullar aynı zamanda iç içe de olabilir.
51+
{% endhint %}

tr/conditional/switch.md

Lines changed: 96 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,96 @@
1+
---
2+
chapter: 5
3+
pageNumber: 32
4+
---
5+
6+
# Switch
7+
8+
`switch`, farklı koşullara göre eylemler gerçekleştiren koşullu bir deyimdir. Koşulları karşılaştırmak için strict ( === ) karşılaştırmasını kullanır ve eşleşen koşulun kod bloklarını yürütür. `switch` ifadesinin sözdizimi (_syntax_) aşağıda gösterilmiştir.
9+
10+
```javascript
11+
switch (expression) {
12+
case x:
13+
// code block
14+
break;
15+
case y:
16+
// code block
17+
break;
18+
default:
19+
// code block
20+
}
21+
```
22+
23+
İfade bir kez değerlendirilir ve her bir durumla karşılaştırılır. Eğer eşleşme bulunursa, ilişkili kod bloğu çalıştırılır, aksi halde `default` kod bloğu çalıştırılır. `break` anahtar kelimesi, işlemi durdurur ve istenilen yere yerleştirilebilir. Eğer kullanılmazsa, koşullar eşleşmese bile bir sonraki koşul değerlendirilir.&#x20;
24+
25+
Aşağıda, switch koşuluna dayalı olarak bir hafta günü adı elde etme örneği verilmiştir.&#x20;
26+
27+
```javascript
28+
switch (new Date().getDay()) {
29+
case 0:
30+
day = "Sunday";
31+
break;
32+
case 1:
33+
day = "Monday";
34+
break;
35+
case 2:
36+
day = "Tuesday";
37+
break;
38+
case 3:
39+
day = "Wednesday";
40+
break;
41+
case 4:
42+
day = "Thursday";
43+
break;
44+
case 5:
45+
day = "Friday";
46+
break;
47+
case 6:
48+
day = "Saturday";
49+
}
50+
```
51+
52+
Birden fazla eşleşme durumunda, **ilk** eşleşen değer seçilir, değilse _default_ değer seçilir.Varsayılan değer ve eşleşen bir durum olmadığında, program switch koşullarından sonraki ifadelerle devam eder.&#x20;
53+
54+
{% exercise %}
55+
56+
Aşağıdaki değerlerden yola çıkarak, dayOfWeek değerini kontrol eden bir `switch` ifadesi yazın. Eğer dayOfWeek "Pazartesi", "Salı", "Çarşamba", "Perşembe" veya "Cuma" ise, result değişkenine "It's a weekday" atanacaktır. Eğer dayOfWeek "Cumartesi" veya "Pazar" ise, result değişkenine "It's the weekend" atanacaktır.
57+
58+
{% initial %}
59+
let dayOfWeek = "Monday";
60+
let result;
61+
// hafta içi mi yoksa hafta sonu mu olduğunu kontrol et
62+
switch(expression) {
63+
case x:
64+
// code block
65+
break;
66+
case y:
67+
// code block
68+
break;
69+
default:
70+
// code block
71+
}
72+
{% solution %}
73+
let dayOfWeek = "Monday";
74+
let result;
75+
// hafta içi mi yoksa hafta sonu mu olduğunu kontrol et
76+
switch (dayOfWeek) {
77+
case "Monday":
78+
case "Tuesday":
79+
case "Wednesday":
80+
case "Thursday":
81+
case "Friday":
82+
result = "It's a weekday";
83+
break;
84+
case "Saturday":
85+
case "Sunday":
86+
result = "It's the weekend";
87+
break;
88+
default:
89+
result = "Invalid day of the week";
90+
break;
91+
}
92+
{% validation %}
93+
assert(result == "It's a weekday" );
94+
95+
{% context %}
96+
{% endexercise %}

0 commit comments

Comments
 (0)