You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: 1-js/02-first-steps/10-ifelse/article.md
+5-5Lines changed: 5 additions & 5 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -3,7 +3,7 @@
3
3
4
4
Bazı durumlarda koşula göre farklı eylemler yapmak isteyebilirsiniz.
5
5
6
-
`"?"` operatörü veya `if` cümlesi bu koşulları kontrol etmenizi sağlar.
6
+
`"?"` operatörü veya `if` cümlesi bu koşulları kontrol etmenizi sağlar.
7
7
8
8
## "if" cümlesi
9
9
@@ -64,7 +64,7 @@ if (sonuc) {
64
64
}
65
65
```
66
66
67
-
## "else" cümlesi
67
+
## "else" cümlesi
68
68
69
69
`if` cümlesi opsiyonel olarak "else" bloğu da içerebilir. Bu eğer `if` parantezi içerisinde yazdığımız kod yanlış ise çalışır.
70
70
@@ -97,7 +97,7 @@ if (yil < 2015) {
97
97
alert( 'Kesinlikle!' );
98
98
}
99
99
```
100
-
Yukarıdaki kodda önce `yil < 2015` kontrolü yapılır. Eğer bu değerlendirme yanlış ise bir sonraki koşula geçilir. Eğer `year > 2015` doğru ise bu koşul içindeki alarm fonksiyonu çalışır. Diğer hallerde son `alert` fonksiyonu çalışır.
100
+
Yukarıdaki kodda önce `yil < 2015` kontrolü yapılır. Eğer bu değerlendirme yanlış ise bir sonraki koşula geçilir. Eğer `year > 2015` doğru ise bu koşul içindeki alarm fonksiyonu çalışır. Diğer hallerde son `alert` fonksiyonu çalışır.
101
101
102
102
Sonuncusunda bir tane daha `else if` bloğu olabilirdi: `else if ( yil == 2015 )`
103
103
@@ -210,7 +210,7 @@ let firma = prompt('JavaScript hangi firma tarafından yaratılmıştır?', '');
210
210
*/!*
211
211
```
212
212
213
-
Koşula göre `firma =='Netscap'`, soru işaretinden sonra birinci bölüm veya ikinci bölüm çalışır.
213
+
Koşula göre `firma =='Netscape'`, soru işaretinden sonra birinci bölüm veya ikinci bölüm çalışır.
214
214
215
215
Sonucu bir değere atanmamıştır. Amaç duruma göre doğrudan kodu çalıştırmak.
216
216
@@ -235,4 +235,4 @@ if (firma == 'Netscape') {
235
235
236
236
Okurken kodu dikey olarak okuruz. Bundan dolayı yazımın bir kaç satıra dağıtılması okumayı uzun satırlara göre daha kolay hale getirir.
237
237
238
-
`'?'` işaretinin ideal kullanımı sadece o ya da bu sorusudur. Daha uzun bir cümle için `if` kullanmalısınız.
238
+
`'?'` işaretinin ideal kullanımı sadece o ya da bu sorusudur. Daha uzun bir cümle için `if` kullanmalısınız.
Copy file name to clipboardExpand all lines: 1-js/02-first-steps/11-logical-operators/article.md
+11-11Lines changed: 11 additions & 11 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -100,7 +100,7 @@ Bu klasik "boolean" VEYA tanımını aşarak ilginç kullanımlara neden olmakta
100
100
101
101
1.**Değişken veya ifadeler dizisinde ilk doğru(true) değeri bulmak için**
102
102
103
-
Düşünün bir diziniz var ve içinde `null/undefined` değerler barındırmakta. Siz ilk veriyi bulduğunuzda döndermek istiyorsunuz.
103
+
Düşünün bir diziniz var ve içinde `null/undefined` değerler barındırmakta. Siz ilk veriyi bulduğunuzda döndürmek istiyorsunuz.
104
104
105
105
Bunun için `||` kullanabilirsiniz:
106
106
@@ -114,18 +114,18 @@ Bu klasik "boolean" VEYA tanımını aşarak ilginç kullanımlara neden olmakta
114
114
115
115
alert( isim ); // "Akif" seçilir – ilk doğru değeri bulduğundan dolayı buradan dönülür ve ekrana "Akif" çıkar.
116
116
```
117
-
117
+
118
118
Eğer `simdikiKullanici` ve `varsayilanKullanici` yanlış(false) olsaydı `"isimsiz"` yazısı ekrana çıkacaktı.
119
119
120
120
2.**Kısa devre değerlendirmesi**
121
-
121
+
122
122
Operantlar sadece değer değil ifade de olabilir. VEYA testlerini soldan sağa doğru yapar. Doğru değer bulunduğunda döndürülür. Bu olaya kısa devre değerlendirmesi denir, çünkü soldan sağa en kısa yoldan gitmektedir.
123
123
124
124
Tabi bunun ifadelere yan etkisi olabilir. Örneğin değer atama
125
125
126
126
Aşağıdaki örnek çalıştığında `x`'e değer atanmayacak:
127
127
128
-
128
+
129
129
```js run no-beautify
130
130
let x;
131
131
@@ -145,11 +145,11 @@ Bu klasik "boolean" VEYA tanımını aşarak ilginç kullanımlara neden olmakta
145
145
alert(x); // 1
146
146
```
147
147
Gördüğünüz gibi değer atandı. Böyle basit bir durumda yan etki görmezden gelinebilir.
148
-
148
+
149
149
Kısa yoldan `if` yapısında olduğu gibi ilk operand boolean'a çevrilir ve eğer yanlışsa ikinci değer çalıştırılır.
150
-
150
+
151
151
Çoğu zaman normal `if` yapısını kullanmanız daha iyidir çünkü kod daha anlaşılır olur. Fakat bazen kısa yoldan `if` yapmakta işinize yarayabilir.
- Her bir operandı boolean değere çevir. Eğer sonuç `yanlış` ise dur ve operatörün orijinal değerini dönder.
201
-
- Eğer diğer operandlara erişim sağlandıysa ( hepsinin doğru olma durumu ) sondaki operandı dönder.
200
+
- Her bir operandı boolean değere çevir. Eğer sonuç `yanlış` ise dur ve operatörün orijinal değerini döndür.
201
+
- Eğer diğer operandlara erişim sağlandıysa ( hepsinin doğru olma durumu ) sondaki operandı döndür.
202
202
203
203
Yukarıdaki kurallar VEYA kuralları ile benzerlik göstermektedir. Farklılık AND operatörünün ilk `yanlış` bulduğunda dönmesi. OR operatörü ise ilk `doğru` bulduğunda dönmekteydi.
204
204
205
205
Örnek:
206
206
207
207
```js run
208
-
// Eğer ilk opedan doğru ise her halükarda ikincinin değeri dönecek.
208
+
// Eğer ilk operand doğru ise her halükarda ikincinin değeri dönecek.
209
209
alert( 1 && 0 ); // 0
210
210
alert( 1 && 5 ); // 5
211
211
@@ -278,7 +278,7 @@ result = !value;
278
278
Operatör tek operanddan oluşur ve aşağıdaki şekilde çalışır:
Copy file name to clipboardExpand all lines: 1-js/02-first-steps/14-function-basics/article.md
+29-29Lines changed: 29 additions & 29 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -19,7 +19,7 @@ function mesajGoster() {
19
19
}
20
20
```
21
21
22
-
`function` kelimesi önce yazılır, ardından *fonksiyonun adı* ve sonra parametlerin yazılacağı parantez açılır ve ihtiyaç duyulan parametreler yazılır, sonrasında ise kapatılıp süslü parantez ile *fonksiyon gövdesi*ne başlanır.
22
+
`function` kelimesi önce yazılır, ardından *fonksiyonun adı* ve sonra parametrelerin yazılacağı parantez açılır ve ihtiyaç duyulan parametreler yazılır, sonrasında ise kapatılıp süslü parantez ile *fonksiyon gövdesi*ne başlanır.
23
23
24
24

25
25
@@ -38,7 +38,7 @@ mesajGoster();
38
38
*/!*
39
39
```
40
40
41
-
`mesajGoster()` fonksiyonu kodu çalıştırır. Bu kod sonrasında `Merhaba millet`uyarsını iki defa göreceksiniz.
41
+
`mesajGoster()` fonksiyonu kodu çalıştırır. Bu kod sonrasında `Merhaba millet`uyarısını iki defa göreceksiniz.
42
42
43
43
Bu örnek açıkça fonksiyonların ana amacını gösteriyor: Kod tekrarından kaçınma.
alert( kullaniciAdi ); // fonksiyon çağırıldıktan sonra *!*Yusuf*/!*,
100
+
alert( kullaniciAdi ); // fonksiyon çağırıldıktan sonra *!*Yusuf*/!*,
101
101
```
102
102
103
103
Dışarıda bulunan değişkenler eğer yerel değişken yoksa kullanılırlar. Bazen eğer `let` ile değişken oluşturulmazsa karışıklık olabilir.
@@ -128,12 +128,12 @@ Fonksiyonların dışına yazılan her değişken, yukarıda bulunan `kullaniciA
128
128
129
129
Global değişkenlere her fonksiyon içerisinden erişilebilir.(Yerel değişkenler tarafından aynı isimle bir değişken tanımlanmamışsa)
130
130
131
-
Genelde fonksiyonlar yapacakları işe ait tüm değişkenleri tanımlarlara, global değişkenler ise sadece proje seviyesinde bilgi tutarlar, çünkü proje seviyesinde bilgilerin projenin her yerinden erişilebilir olması oldukça önemlidir. Modern kodda az veya hiç global değer olmaz. Çoğu fonksiyona ait değişkenlerdir.
131
+
Genelde fonksiyonlar yapacakları işe ait tüm değişkenleri tanımlarlar, global değişkenler ise sadece proje seviyesinde bilgi tutarlar, çünkü proje seviyesinde bilgilerin projenin her yerinden erişilebilir olması oldukça önemlidir. Modern kodda az veya hiç global değer olmaz. Çoğu fonksiyona ait değişkenlerdir.
132
132
133
133
```
134
134
135
135
## Parametreler
136
-
Paramterelere isteğe bağlı olarak veri paslanabilir. Bunlara *fonksiyon argümanları* da denir.
136
+
Parametrelere isteğe bağlı olarak veri paslanabilir. Bunlara *fonksiyon argümanları* da denir.
137
137
138
138
Aşağıdaki fonksiyon iki tane parametreye sahiptir. `gonderen` ve `metin`
139
139
@@ -232,7 +232,7 @@ function mesajGoster(gonderen, metin) {
232
232
````
233
233
234
234
235
-
## Değer dönderme
235
+
## Değer döndürme
236
236
237
237
Fonksiyon çağırıldığı yere değer döndürebilir.
238
238
@@ -272,7 +272,7 @@ if ( yasKontrolu(yas) ) {
272
272
alert( 'Reddedildi' );
273
273
}
274
274
```
275
-
`return` değer döndermek zorunda değildir. Bu fonksiyondan anında çıkmayı sağlar.
275
+
`return` değer döndürmek zorunda değildir. Bu fonksiyondan anında çıkmayı sağlar.
276
276
277
277
Örneğin:
278
278
@@ -288,10 +288,10 @@ function filmGoster(age) {
288
288
// ...
289
289
}
290
290
```
291
-
Yukarıdaki kodda eğer `yasKontrolu(yas)``false`dönderir ise `filmGoster` fonksiyonu `alert`e erişemeyecektir.
291
+
Yukarıdaki kodda eğer `yasKontrolu(yas)``false`döndürür ise `filmGoster` fonksiyonu `alert`e erişemeyecektir.
292
292
293
-
````smart header="boş veya bir şey döndermeyen fonksiyon `undefined`dönderir"
294
-
Eğer bir fonksiyon değer döndermiyor ise bu fonksiyon `undefined`dönderiyor ile aynı anlama gelir.
293
+
````smart header="boş veya bir şey döndürmeyen fonksiyon `undefined`döndürür"
294
+
Eğer bir fonksiyon değer döndürmüyor ise bu fonksiyon `undefined`döndürüyor ile aynı anlama gelir.
295
295
296
296
297
297
```jsrun
@@ -300,7 +300,7 @@ function biseyYapma() { /* boş */ }
300
300
alert( biseyYapma() ===undefined ); // true
301
301
```
302
302
303
-
Boş dönderen`return`, `returnundefined` ile aynıdır.
303
+
Boş döndüren`return`, `returnundefined` ile aynıdır.
304
304
305
305
```jsrun
306
306
functionbiseyYapma() {
@@ -319,43 +319,43 @@ Uzun `return` ifadelerinde, yeni bir satırda yazmak size kullanışlı gelebili
319
319
return
320
320
(bazı + uzun + ifade + veya + baska + birsey *f(a) +f(b))
321
321
```
322
-
Bu çalışmaz, çünkü JavaScript `return` kelimesinden sonra `;`varsayara ve `undefined` döner. Bu aşağoıdaki ifade ile aynıdır:
322
+
Bu çalışmaz, çünkü JavaScript `return` kelimesinden sonra `;`varsayar ve `undefined` döner. Bu aşağıdaki ifade ile aynıdır:
323
323
324
324
```js
325
325
return*!*;*/!*
326
326
(bazı + uzun + ifade + veya + baska + birsey *f(a) +f(b))
327
327
```
328
-
Bundan dolayı, tam olarak boş return olur. Geri döndereceğimiz değer ile return aynı satırda olmalıdır.
328
+
Bundan dolayı, tam olarak boş return olur. Geri döndüreceğimiz değer ile return aynı satırda olmalıdır.
Fonksiyonlar eylemdir. Bundan dolayı isimleri yüklem olmalıdır. Net olmalı ve fonksiyonun ne işe yaradığını ifade edebilmelidir. Böylece kim ki kodu okur, ne yazıldığınına dair bir fikri olur.
334
+
Fonksiyonlar eylemdir. Bundan dolayı isimleri yüklem olmalıdır. Net olmalı ve fonksiyonun ne işe yaradığını ifade edebilmelidir. Böylece kim ki kodu okur, ne yazıldığına dair bir fikri olur.
335
335
336
-
Genel itibari ile eylemi tanımlayan önek kullanmak iyi bir yöntemdir. Bu önekler ile ilgili birlikte kod yazdığınız kişiler ile uyum içerisinde olmalısınız.
336
+
Genel itibari ile eylemi tanımlayan ön ek kullanmak iyi bir yöntemdir. Bu ön ekler ile ilgili birlikte kod yazdığınız kişiler ile uyum içerisinde olmalısınız.
337
337
338
338
Örneğin `"show"` fonksiyonu her zaman bir şeyleri `gösterir`.
339
339
340
340
Fonksiyonlar şöyle başlayabilir.
341
341
342
-
- `"get…"` -- değer dönderir,
342
+
- `"get…"` -- değer döndürür,
343
343
- `"calc…"` -- bir şeyler hesaplar,
344
344
- `"create…"` -- bir şeyler yaratır,
345
-
- `"check…"` -- bir şeyleri kontrol eder ve boolean dönderir.
345
+
- `"check…"` -- bir şeyleri kontrol eder ve boolean döndürür.
346
346
347
347
Böyle isimlere örnek:
348
348
349
-
Not: ingilizce de bu daha kolay önce eylemi yazıyorlar. Türkçede fiil genelde sonda olduğundan dolayı sıkıntı yaşanmaktadır. Fonksiyonlarınızı adlandırırken ingilizce adlandırırsanız okunması daha kolay olacaktır.
349
+
Not: İngilizce'de bu daha kolay önce eylemi yazıyorlar. Türkçe'de fiil genelde sonda olduğundan dolayı sıkıntı yaşanmaktadır. Fonksiyonlarınızı adlandırırken İngilizce adlandırırsanız okunması daha kolay olacaktır.
350
350
351
351
```jsno-beautify
352
352
sendMessage(..) // mesaj gönderir
353
-
getAge(..) // yaşı dönderir
354
-
calcSum(..) // toplamı hesaplar ve geri dönderir.
355
-
createForm(..) // form oluşturur ve genelde geri dönderir.
353
+
getAge(..) // yaşı döndürür
354
+
calcSum(..) // toplamı hesaplar ve geri döndürür.
355
+
createForm(..) // form oluşturur ve genelde geri döndürür.
356
356
checkPermission(..) // izni kontor eder. true/false
357
357
```
358
-
Önek ile fonksiyonlar bir anlamda ipucu verir ve ne tür değerler dönmesi gerektiğini anlatır.
358
+
Ön ek ile fonksiyonlar bir anlamda ipucu verir ve ne tür değerler dönmesi gerektiğini anlatır.
359
359
360
360
```smartheader="Bir fonksiyon -- bir eylem"
361
361
Birfonksiyonsadeceisminintanımladığı işiyapmalı.
@@ -364,16 +364,16 @@ Bir fonksiyon sadece isminin tanımladığı işi yapmalı.
364
364
365
365
Bukurallar şu şekildebozulabilir:
366
366
367
-
-`getAge`--Eğerbufonksiyoniçeride`alert`ileyaş gösteriyoriseyanlış olur. Bufonksiyonunsadeceyaşı alıpdöndermesigerekmekte.
367
+
-`getAge`--Eğerbufonksiyoniçeride`alert`ileyaş gösteriyoriseyanlış olur. Bufonksiyonunsadeceyaşı alıpdöndürmesigerekmekte.
368
368
-`createForm`--Eğerdökümanı değiştiriyorsaveyaformabir şeyekliyorsayanlış olur. ( Sadece formu yaratmalı ve geri dönmelidir )
369
369
-`checkPermission`--Eğer`izin verildi/reddedildi`gibimesajları bufonksiyongösterirseyanlış olur. Sadecekontroletmelivegeridönmelidir.
370
370
371
-
Bu örneklergenelolarak öneklerinnasıltahminedilmesigerektiğinigösterir. Bunlarınneanlamageleceğisizvetakımınızakalmıştır. Belkisizinkodunuziçinfarklı bir şekildedavranması gayetdoğalolabilir. Fakatyinedeöneklereaitbiranlamlandırmanızolmalıdır. Önekneyapabilirneyapamazvs. Tümaynı öneklifonksiyonlarsizinkoyduğunuzkuralauymalı vetümtakımbukuralları biliyorolmalıdır.
371
+
Bu örneklergenelolarak öneklerinnasıltahminedilmesigerektiğinigösterir. Bunlarınneanlamageleceğisizvetakımınızakalmıştır. Belkisizinkodunuziçinfarklı bir şekildedavranması gayetdoğalolabilir. Fakatyinedeöneklereaitbiranlamlandırmanızolmalıdır. Önekneyapabilirneyapamazvs. Tümaynı öneklifonksiyonlarsizinkoyduğunuzkuralauymalı vetümtakımbukuralları biliyorolmalıdır.
372
372
```
373
373
374
374
```smartheader="Aşırı derecede kısa fonksiyon isimleri"
Örneğin, [jQuery](http://jquery.com) kütüphanesi `$` fonksiyonu ile tanımlanır. [LoDash](http://lodash.com/) kütüphanesi de keza kendine has fonksiyon `_` kullanır.
379
379
@@ -436,11 +436,11 @@ function fonksiyon ismi(parametreler, virgül , ile, ayrilirlar) {
436
436
437
437
- Fonksiyona paslanan parametreler yerel değişken olarak fonksiyon içerisinde kopyalanırlar.
438
438
- Fonksiyon dışarıdaki değişkene erişebilir. Fakat içeride yaratılmış bir değişken dışarıda kullanılamaz.
439
-
- Fonksiyon değer dönderebilir. Eğer döndermezse`undefined`olarak tanımlanır.
439
+
- Fonksiyon değer döndürebilir. Eğer döndürmezse`undefined`olarak tanımlanır.
440
440
441
441
Kodun daha anlaşılır ve okunabilir olması için, fonksiyonlar içerisinde yerel değişken kullanılması önerilir. Dış değişkenler kullanılması önerilmez.
442
442
443
-
Eğer fonksiyon parametre ile değer alır ve bu değer üzerinde çalışıp değer geri dönderirse anlaşılırlığı artar. Fakat eğer fonksiyon hiçbir parametre almadan sadece dışarıdaki değişkenleri değiştiriyor ise kodun anlaşılırlığı büyük ölçüde azalır.
443
+
Eğer fonksiyon parametre ile değer alır ve bu değer üzerinde çalışıp değer geri döndürürse anlaşılırlığı artar. Fakat eğer fonksiyon hiçbir parametre almadan sadece dışarıdaki değişkenleri değiştiriyor ise kodun anlaşılırlığı büyük ölçüde azalır.
444
444
445
445
Fonksiyon isimlendirme:
446
446
@@ -449,4 +449,4 @@ Fonksiyon isimlendirme:
449
449
- Bunlar için ön ek kullanabilirsiniz. Türkçe sondan eklemeli bir dil olduğundan dolayı fonksiyon ekleri sona gelmektedir. Örneğin `asalGoster`, bu tip kullanım aslında okunurluk açısından pekte iyi değil benim kanaatimce. Çünkü okurken önce ne yaptığını anlaşılmıyor. Fakat İngilizce örneğine bakarsanız `showPrime`, burada önce ne yaptığını söylüyor. Farzedin ki birçok fonksiyonunuz var ve okuduğunuzda önce ne iş yaptığını bilmek bunları filtrelemenizde size yardımcı olacaktır.
450
450
- Örnek kaç tane ek , `create...` , `show...`, `get...`, `check...` vs.
451
451
452
-
Fonksiyonlar kod yazarken kullanılan ana yapılardır. Artık temellerini anlaşıldığına göre kullanılmaya başlanabilir. Fakat sadece temellerinin gösterildiğini bilmekte fayda var. ileride defalaraca fonksiyonlar konusuna geri dönülecektir.
452
+
Fonksiyonlar kod yazarken kullanılan ana yapılardır. Artık temellerini anlaşıldığına göre kullanılmaya başlanabilir. Fakat sadece temellerinin gösterildiğini bilmekte fayda var. İleride defalarca fonksiyonlar konusuna geri dönülecektir.
0 commit comments