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/01-getting-started/1-intro/article.md
+8-8Lines changed: 8 additions & 8 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -10,7 +10,7 @@ Bu dilde yazılan kod kümelerine betik denir. Doğrudan HTML kodu içerisine ya
10
10
11
11
Komutlar herhangi bir derleme ve hazırlığa gereksinim duymadan doğrudan çalışırlar.
12
12
13
-
Bu yönden bakınca JavaScript diğer dillere kıyasla oldukça farklıdır. Bkz: [Java](http://en.wikipedia.org/wiki/Java).
13
+
Bu yönden bakınca JavaScript diğer dillere kıyasla oldukça farklıdır. Bkz: [Java](https://en.wikipedia.org/wiki/Java_(programming_language)).
14
14
15
15
```smart header="Neden <u>Java</u>Script?"
16
16
JavaScript ilk yazıldığında, başka bir adı vardı: "LiveScript". Ancak Java dili o dönemlerde çok ünlü olduğundan dolayı yeni bir dil ve "küçük kardeş" gibi görünmesi açısından JavaScript olarak değiştirildi.
@@ -44,11 +44,11 @@ Motor bu sürecin her bir adımında iyileştirme yapar. Hatta derlenmiş ve ça
Günümüz JavaScript'i "güvenli" bir programlama dilidir. Düşük düzeydeki diller gibi bellek veya işlemciye doğrudan erişim sağlamaz. Tarayıcı için olduğundan dolayı böyle birşeye gereksinim duymaz.
47
+
Günümüz JavaScript'i "güvenli" bir programlama dilidir. Düşük düzeydeki diller gibi bellek veya işlemciye doğrudan erişim sağlamaz. Tarayıcı için olduğundan dolayı böyle bir şeye gereksinim duymaz.
48
48
49
-
JavaScript'in yapabilecekçeleri büyük bir oranda ortama dayanır. Örneğin [Node.JS](https://wikipedia.org/wiki/Node.js), JavaScript işlevleri ile dosyaları okuma, yazma veya ağ üzerinden isteme işlemlerini yapabilir.
49
+
JavaScript'in yapabilecekleri büyük bir oranda ortama dayanır. Örneğin [Node.JS](https://wikipedia.org/wiki/Node.js), JavaScript işlevleri ile dosyaları okuma, yazma veya ağ üzerinden isteme işlemlerini yapabilir.
50
50
51
-
Tarayıcı içerisindeki JavaScript ise web sayfasında görsel değişikliklere ve kullanıcı ile sunucu arasındaki etkileşimle ilgili herşeyi yapabilir.
51
+
Tarayıcı içerisindeki JavaScript ise web sayfasında görsel değişikliklere ve kullanıcı ile sunucu arasındaki etkileşimle ilgili her şeyi yapabilir.
52
52
53
53
Örneğin tarayıcı içerisindeki JavaScript şunları yapabilir:
54
54
@@ -72,7 +72,7 @@ Bu engellemeleri şu biçimde sıralayabiliriz :
72
72
73
73
- Farklı sekmeler birbiri ile iletişime geçemez ve bilgi alışverişi yapamazlar. Bazı sitelerde aynı sekmeler iletişimde bulunabilir, örneğin bir sekmeden JavaScript ile diğer sekmeyi açabilirsiniz. Bu durumda bile, bir sayfa diğerinden farklı alan adı, kural veya kapılarda ise erişemez.
74
74
75
-
Bu olaya "Same Origin Policy" (Aynı kaynak kuralı) denir. Bunu çözmek için *her iki sayfa* özel bir JavaScript kodu ile birbirlerini onaylamalıdır. Bu engellemeler yine kullanıcının güvenliği içindir. Kullanıcının açtığı `http://örnekyerlik.com` sitesi diğer sekmede bulunan `http://diğeryerlik.com` sitesinden bilgi çalamamalıdır.
75
+
Bu olaya "Same Origin Policy" (Aynı kaynak kuralı) denir. Bunu çözmek için *her iki sayfa* özel bir JavaScript kodu ile birbirlerini onaylamalıdır. Bu engellemeler yine kullanıcının güvenliği içindir. Kullanıcının açtığı `http://örnekyerlik.com` sitesi diğer sekmede bulunan `http://gmail.com` sitesinden bilgi çalamamalıdır.
76
76
- JavaScript kolayca bulunduğu sayfadan veri alabilir. Ancak başka site veya alan adlarından veri alması sorunludur. Olanaklı olmasına karşın her iki yanın onayı gereklidir. Yine, bunun nedeni güvenlik sınırlarıdır diyebiliriz.
77
77
78
78

@@ -97,7 +97,7 @@ Yeni bir teknolojiyi öğrenmeye başlarken, sunacağı avantajlar için öngör
97
97
98
98
## JavaScript'e üstün diller
99
99
100
-
JavaScript'in sözdizimi ve yazımı herkese uymayabilir. Her yiğidin yoğurt yiyişi ayrıdır.
100
+
JavaScript'in söz dizimi ve yazımı herkese uymayabilir. Her yiğidin yoğurt yiyişi ayrıdır.
101
101
102
102
Bu olağan bir durum, çünkü tasarımlar ve gereksinimler kişiden kişiye göre değişir.
103
103
@@ -109,12 +109,12 @@ Bu dillere örnek vermek gerekirse:
109
109
110
110
-[Typescript](http://www.typescriptlang.org/) durağan veri yapıları ile JavaScript yazılmasını sağlar. Karmaşık programlar geliştirmeyi kolaylaştırır. Microsoft tarafından geliştirilmiştir.
111
111
112
-
-[Dart](https://www.dartlang.org/) kendi başına ayrı bir dildir. Tarayıcı üzerinde veya telefon uygulamalarında kendi motoru üzerinden çalıştırılır. Google'ın tarayıcılarda JavaScript yerine Dart'ı önermiş olmasına karşın, bu günlerde JavaScript'e çeviri yapılarak kullanılmaktadır.
112
+
-[Dart](https://www.dartlang.org/) kendi başına ayrı bir dildir. Tarayıcı üzerinde veya telefon uygulamalarında kendi motoru üzerinden çalıştırılır. Google'ın tarayıcılarda JavaScript yerine Dart'ı önermiş olmasına karşın, bugünlerde JavaScript'e çeviri yapılarak kullanılmaktadır.
113
113
114
114
Bunlara daha fazla örnek eklenebilir. Yukarıdakileri bilseniz bile ne yaptığınızı tam olarak anlamak için JavaScript bilmelisiniz.
115
115
116
116
## Özet
117
117
118
118
- JavaScript başlangıçta yalnızca ağ tarayıcılarında kullanılmak üzere geliştirilmiş bir dildi. Ancak günümüzde, birçok çevrede çalışabilir durumda.
119
119
- JavaScript şu anda HTML/CSS ile bütünleşik olmasından ve geniş uyumluluğundan dolayı benzersizdir.
120
-
-Bir çok JavaScript'e çevirici dil bulunmaktadır. JavaScript'i iyi bir biçimde öğrendikten sonra bu dillere de bir bakmanızı öneririz.
120
+
-Birçok JavaScript'e çevirici dil bulunmaktadır. JavaScript'i iyi bir biçimde öğrendikten sonra bu dillere de bir bakmanızı öneririz.
Copy file name to clipboardExpand all lines: 1-js/01-getting-started/2-manuals-specifications/article.md
+2-2Lines changed: 2 additions & 2 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -7,13 +7,13 @@ Bu kitap aslında bir *eğitim süreci*'dir. Amacı sizin kademeli olarak JavaSc
7
7
8
8
**ECMA-262 Şartnamesi** JavaScript için olabilecek en derin bilgilerin bulunduğu kaynaktır. Dili tanımlar.
9
9
10
-
Fakat formal bir dil kullanıldığından dolayı ilk seferde anlaması zordur. Eğer en güvenilir kaynak neredir diye soracak olursanız bunun cevabı **ECMA-262 Şartnamesi**'dir. Fakat her an gidip kolayca bilgi alabileceğiniz bir kaynak değildir.
10
+
Fakat resmi bir dil kullanıldığından dolayı ilk seferde anlaması zordur. Eğer en güvenilir kaynak neredir diye soracak olursanız bunun cevabı **ECMA-262 Şartnamesi**'dir. Fakat her an gidip kolayca bilgi alabileceğiniz bir kaynak değildir.
11
11
12
12
Son taslağına <https://tc39.es/ecma262/> adresinden erişebilirsiniz.
13
13
14
14
Daha geniş kitleler tarafından kullanılmayan yeni özelliklere ve önerilere <https://github.com/tc39/proposals> adresinden erişebilirsiniz.
15
15
16
-
Ayrıca, tarayıcı için geliştirme yapıyorsanız, ikinci [second part](info:browser-environment) bölümünden farklı eğitimlere bakabilirsiniz.
16
+
Ayrıca, tarayıcı için geliştirme yapıyorsanız, [ikinci bölümden](info:browser-environment) farklı eğitimlere bakabilirsiniz.
Copy file name to clipboardExpand all lines: 1-js/01-getting-started/4-devtools/article.md
+3-3Lines changed: 3 additions & 3 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -4,7 +4,7 @@ Kod yazmak hataya meyilli bir iştir. Bu süreç içerisinde muhtemelen hatalar
4
4
5
5
Kullanıcı, tarayıcıda meydana gelen hataları göremez. Eğer yazdığınız kodda bir yanlışlık varsa, hatalı kısımları göremez ve bunu düzeltemezsiniz.
6
6
7
-
Hataları ve diğer kullanışlı bilgileri görebilmek için tarayıcılara entegre edilmiş "Geliştirici Araçları"'nı kullanmalısınız.
7
+
Hataları ve diğer kullanışlı bilgileri görebilmek için tarayıcılara entegre edilmiş "Geliştirici Araçlarını" kullanmalısınız.
8
8
9
9
Genelde geliştiriciler Chrome veya Firefox'a yoğunlaşmaktadırlar çünkü ikisinin de geliştirme aracı çok iyidir. Diğer tarayıcılar da geliştirme araçları sunarlar, bazen daha farklı özelliklerle bile olsa genelde amaçları Chrome veya Firefox'u yakalamaktır. Bundan dolayı çoğu kişi "favori" tarayıcıya sahiptir ve eğer tarayıcı tabanlı bir problemle karşılaşırsa diğer tarayıcıyı kontrol eder.
10
10
@@ -22,13 +22,13 @@ Geliştirici araçları konsol paneliyle açılacaktır. Aşağıdaki ekranda il
22
22
23
23

24
24
25
-
Chrome'un geliştirme aracı versiyona göre değişiklik gösterecektir. Fakat genel hatları itibariyle bu anda gördüğünüze benzeyecektir.
25
+
Chrome'un geliştirme aracı versiyona göre değişiklik gösterecektir. Fakat genel hatları itibariyle şu anda gördüğünüze benzeyecektir.
26
26
27
27
- Konsol panelinde kırmızı renk ile hatayı görebilirsiniz. Bu durumda kodunuz bilinmeyen "lalala" komutunda hata vermiş.
28
28
29
29
- Sağ tarafında hatanın hangi satırda olduğunu görebilirsiniz. Bu alan tıklanabilirdir. Şu anda hata `bug.html:12`'de bulunmaktadır.
30
30
31
-
Hatanın altında `>` sembolünü görebilirsiniz. Bu "komut satırı"'nı işaret eder. Komutunuzu yazdıktan sonra `key:Enter`'a basarak o satırdaki komutu çalıştırabilirsiniz. Birden fazla satır kod yazabilmek için ise `key:Shift+Enter` tuş kombinasyonunu kullanabilirsiniz.
31
+
Hatanın altında `>` sembolünü görebilirsiniz. Bu, "komut satırı"'nı işaret eder. Komutunuzu yazdıktan sonra `key:Enter`'a basarak o satırdaki komutu çalıştırabilirsiniz. Birden fazla satır kod yazabilmek için ise `key:Shift+Enter` tuş kombinasyonunu kullanabilirsiniz.
32
32
33
33
Başlangıç için hataları görmek yeterli olacaktır. Daha sonra geliştirme aracını <info:debugging-chrome> bölümünde derinlemesine öğreneceksiniz.
: Eski HTML4 standardı script etiketi içerisinde tip gelirmeyi zorunlu kılıyordu. Genelde bu `type="text/javascript"` idi. Günümüzde ise HTML standartları `type` özelliğini varsayılan olarak kabul edebiliyor.
@@ -59,7 +59,7 @@ JavaScript kodundan önce ve sonra yazılan yorumlar. Çok eski JavaScript kitap
59
59
//--></script>
60
60
```
61
61
62
-
Bu yorumların amacı <script> etiketini anlamayan tarayıcılarda JavaScript kodunun ekrana yazılmasını engellemektir. <br>Fakat artık neredeyse tüm tarayıcılar `<script>` etiketini anladıklarından bu konuda da bir sıkıntı bulunmamaktadır. <br>Eğer böyle bir kod bloğu görürseniz kod çok eski diyebilirsiniz.
62
+
Bu yorumların amacı `<script>` etiketini anlamayan tarayıcılarda JavaScript kodunun ekrana yazılmasını engellemektir. Fakat artık neredeyse tüm tarayıcılar `<script>` etiketini anladıklarından bu konuda da bir sıkıntı bulunmamaktadır. Eğer böyle bir kod bloğu görürseniz kod çok eski diyebilirsiniz.
63
63
64
64
65
65
## Dışardan yüklenen Javascript kod dosyaları
@@ -72,7 +72,7 @@ Sonrasında bu dosyayı aşağıdaki gibi yol göstererek sayfanızda çalışt
72
72
<scriptsrc="/kod/yolu/ana.js"></script>
73
73
```
74
74
75
-
Buraki`/kod/yolu/ana.js` site ana dizininden itibaren kesin(absolute) yol belirtir.
75
+
Buradaki`/kod/yolu/ana.js` site ana dizininden itibaren kesin(absolute) yol belirtir.
76
76
77
77
Tabi göreceli(relative) yol belirtmek de mümkündür. Örneğin `src="script.js"` HTML dosyasının kayıt edildiği klasördeki `"script.js"`'yi al anlamına gelir.
78
78
@@ -92,12 +92,12 @@ Birkaç kod dosyası eklemek isterseniz aşağıdaki gibi yazabilirsiniz.
92
92
```smart
93
93
Kural olarak en basit JavaScript kodları doğrudan HTML içerisine yazılır. Daha karmaşık olanlar farklı dosyalarda taşınır.
94
94
95
-
Ayrı dosyalarda taşınmasının bir diğer güzel yanı tarayıcıların bu dosyaları indirip ön belleğe almasıdır.[cache]https://tr.wikipedia.org/wiki/Web_%C3%B6nbelle%C4%9Fi).
95
+
Ayrı dosyalarda taşınmasının bir diğer güzel yanı tarayıcıların bu dosyaları indirip ön belleğe almasıdır[cache](https://tr.wikipedia.org/wiki/Web_%C3%B6nbelle%C4%9Fi).
96
96
97
97
Bu olaydan sonra eğer bu kod dosyaları değişmediyse daha sonraki sayfa gösterimlerinde o dosyaları tekrar indirmeyecektir. Yani kod dosyaları sadece bir defa indirilecektir. Bu da web sayfasının veri trafiğinin daha az olmasını ve sayfanın daha hızlı gösterilmesini sağlar.
98
98
```
99
99
100
-
````warn header="Eğer `src`etiketi yazılmışsa sadece kod dosyası eklemeye yarar. Yani hem `scr` ekleyip hemde`<script>` tagları arasında kod çalıştıramazsınız.
100
+
````warn header="Eğer `src`etiketi yazılmışsa sadece kod dosyası eklemeye yarar. Yani hem `scr` ekleyip hem de`<script>` tagları arasında kod çalıştıramazsınız.
101
101
102
102
Aşağıdaki kod bloğu çalışmayacaktır:
103
103
@@ -108,7 +108,7 @@ Aşağıdaki kod bloğu çalışmayacaktır:
108
108
</script>
109
109
```
110
110
111
-
`script` tagını kullırken dışarıdan mı dosya ekleyeceksiniz ( `<script src="…">` ) yoksa dosyayı içeride mi yazacaksınız bunun kararını vermemiz gerekmektedir.
111
+
`script` tagını kullanırken dışarıdan mı dosya ekleyeceksiniz ( `<script src="…">` ) yoksa dosyayı içeride mi yazacaksınız bunun kararını vermemiz gerekmektedir.
112
112
113
113
Yukarıdaki örnek iyi `<script>` etiketi içerisinde şu şekilde çalıştırılır.
Copy file name to clipboardExpand all lines: 1-js/02-first-steps/02-structure/article.md
+12-11Lines changed: 12 additions & 11 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -8,7 +8,7 @@
8
8
9
9
Şu ana kadar `alert('Merhaba Dünya')` ifadesini gördük ve bunun uyarı mesajı verdiğini biliyorsunuz.
10
10
11
-
Kodun içerisinde istediğiniz kadar ifadeye. Diğer kod cümlesi bir birinden noktalı virgül ile ayrılır.
11
+
Kodun içerisinde istediğimiz kadar ifadeye sahip olabiliriz. Diğer kod cümlesi bir birinden noktalı virgül ile ayrılır.
12
12
13
13
Örneğin burada mesaj ikiye ayrılmıştır.
14
14
@@ -26,15 +26,16 @@ alert('Dünya');
26
26
## Noktalı Virgüller [#semicolon]
27
27
Eğer ifadeleri satır bırakarak yazarsanız noktalı virgül kullanmanıza gerek yoktur.
28
28
29
-
Örneğin aşağıdaki kod bloğu da çalışacaktır
29
+
Örneğin aşağıdaki kod bloğu da çalışacaktır.
30
30
31
31
```js run no-beautify
32
32
alert('Merhaba')
33
33
alert('Dünya')
34
34
```
35
35
JavaScript dilinde bu şekilde satır bırakarak ifadeyi bitirme olayına "üstü kapalı" noktalı virgül denilmektedir. Ayrıca [otomatik noktalı virgül koyma](https://tc39.github.io/ecma262/#sec-automatic-semicolon-insertion) da denir
36
36
37
-
**Çoğu durumda yeni satır noktalı virgül anlamına gelir. Unutulmamalı ki çoğu durum herzaman demek değildir.**
37
+
38
+
**Çoğu durumda yeni satır, noktalı virgül anlamına gelir. Unutulmamalı ki çoğu durum, her zaman anlamına gelmez.**
38
39
39
40
Aşağıdaki örnekte görüleceği üzeri yeni satır noktalı virgül anlamına gelmemektedir.
40
41
@@ -66,9 +67,9 @@ alert("Hata alacaksınız")
66
67
[1, 2].forEach(alert)
67
68
```
68
69
69
-
Eğer yukarıdaki kodu çalıştırısanız sadece ilk uyarı mesajını görecek ve sonrasında hata alacaksınız.
70
+
Eğer yukarıdaki kodu çalıştırırsanız sadece ilk uyarı mesajını görecek ve sonrasında hata alacaksınız.
70
71
71
-
Fakat aşağıdaki gibi noktalı virgül kullanırsanız herşeyin beklenen şekilde çalıştığını göreceksiniz:
72
+
Fakat aşağıdaki gibi noktalı virgül kullanırsanız her şeyin beklenen şekilde çalıştığını göreceksiniz:
72
73
73
74
```js run
74
75
alert("Şimdi ise beklendiği gibi hatasız");
@@ -86,7 +87,7 @@ Bundan dolayı noktalı virgül koyulmaz, bu durumda ilk kod bloğunda tüm blok
86
87
alert("Bir hata gerçekleşecek")[1, 2].forEach(alert)
87
88
```
88
89
89
-
Fakat normalde sizinde bildiğiniz gibi bunu iki satır görmesi gerekmektedir. Bu ve bunun gibi hatalar ile kod yazdığınız sürece karşılaşabileceğiniz hatalardır.
90
+
Fakat normalde sizin de bildiğiniz gibi bunu iki satır görmesi gerekmektedir. Bu ve bunun gibi hatalar ile kod yazdığınız sürece karşılaşabileceğiniz hatalardır.
90
91
````
91
92
92
93
Eğer yeni satıra geçmek istiyorsanız önerilen yöntem noktalı virgül kullanmanızdır. Bu kural JavaScript toplumu tarafından benimsenmiştir. Tekrar belitelim JavaScript yazarken noktalı virgül kullanmadan yeni satıra geçmek çoğu zaman -- *mümkündür* -- fakat başlangıçta noktalı virgül kullanmanız daha güvenlidir ve önerilir.
@@ -99,7 +100,7 @@ Yorum satırları kodun içerisinde herhangi bir yere koyulabilir. Kodun çalı
99
100
100
101
**Tek satır olarak yazmak istiyorsanız `//` kullanarak yorum yazabilirsiniz**
101
102
102
-
Kesik çizgi işaretlerinden sonra istediğiniz yorumu yazabilirsiniz.
103
+
Eğik çizgi işaretlerinden sonra istediğiniz yorumu yazabilirsiniz.
103
104
104
105
Örneğin:
105
106
```js run
@@ -109,7 +110,7 @@ alert('Merhaba');
109
110
alert('Dünya'); // Bu yorum ise ifadeyi takip eder
110
111
```
111
112
112
-
**Eğer birden çok satırda yorum yazmak istiyorsanız kesik çizgi + yıldız ile ( <code>/*</code> ) yoruma başlayıp yıldız ve kesik çizgi ile bu kod bloğunu bitirebilirsiniz <code>*/</code>.**
113
+
**Eğer birden çok satırda yorum yazmak istiyorsanız eğik çizgi + yıldız ile ( <code>/*</code> ) yoruma başlayıp, yıldız ve eğik çizgi ile bu kod bloğunu bitirebilirsiniz <code>*/</code>.**
113
114
114
115
Örneğin:
115
116
@@ -128,9 +129,9 @@ alert('Hello');
128
129
alert('Dünya');
129
130
```
130
131
131
-
```smart header="Klavye kısa yollarını kullanın!"
132
+
```smart header="Klavye kısayollarını kullanın!"
132
133
133
-
Çoğu editör `key:Ctrl+/` kısa yolunu kullanarak tek satır veya `key:Ctrl+Shift+/` kullanarak çok satır yorum yapmanıza yardımcı olur. Mac için `key:Cmd` tuşu windows için ise `key:Ctrl` tuşudur.
134
+
Çoğu editör `key:Ctrl+/` kısayolunu kullanarak tek satır veya `key:Ctrl+Shift+/` kullanarak çok satır yorum yapmanıza yardımcı olur. Mac için `key:Cmd` tuşu windows için ise `key:Ctrl` tuşudur.
134
135
```
135
136
136
137
````warn header="Yorum satırı içerisinde ayrı bir yorum satırı yapılamaz!"
@@ -146,6 +147,6 @@ alert( 'Dünya' );
146
147
147
148
Lütfen kod yazarken yorum satırı yazmaktan çekinmeyin.
148
149
149
-
Yorumlar elbette dosyanızın biraz daha büyük olmasına sebep olabilir, fakat bu sorun değildir. Kodunuzu küçültmek için bir çok sıkıştırıcı bulunmaktadır. Bunlar kodunuzu canlı sisteme alırken yorumlardan arındırarak server'a koyarlar böylece yazdığınız kod hiç yer kaplamaz.
150
+
Yorumlar elbette dosyanızın biraz daha büyük olmasına sebep olabilir, fakat bu sorun değildir. Kodunuzu küçültmek için birçok sıkıştırıcı bulunmaktadır. Bunlar kodunuzu canlı sisteme alırken yorumlardan arındırarak server'a koyarlar böylece yazdığınız kod hiç yer kaplamaz.
150
151
151
152
Daha fazla örneği ve daha iyi nasıl yorum yazabileceğinizi <info:coding-style> bölümünde göreceksiniz.
0 commit comments