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
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
@@ -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
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -7,7 +7,7 @@ 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.
Copy file name to clipboardExpand all lines: 1-js/01-getting-started/4-devtools/article.md
+1-1Lines changed: 1 addition & 1 deletion
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.
Copy file name to clipboardExpand all lines: 1-js/02-first-steps/01-hello-world/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
@@ -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
@@ -97,7 +97,7 @@ Ayrı dosyalarda taşınmasının bir diğer güzel yanı tarayıcıların bu do
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
+6-6Lines changed: 6 additions & 6 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -26,15 +26,15 @@ 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
+
**Çoğu durumda yeni satır noktalı virgül anlamına gelir. Unutulmamalı ki çoğu durum her zaman demek değildir.**
38
38
39
39
Aşağıdaki örnekte görüleceği üzeri yeni satır noktalı virgül anlamına gelmemektedir.
40
40
@@ -66,9 +66,9 @@ alert("Hata alacaksınız")
66
66
[1, 2].forEach(alert)
67
67
```
68
68
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.
69
+
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
70
71
-
Fakat aşağıdaki gibi noktalı virgül kullanırsanız herşeyin beklenen şekilde çalıştığını göreceksiniz:
71
+
Fakat aşağıdaki gibi noktalı virgül kullanırsanız her şeyin beklenen şekilde çalıştığını göreceksiniz:
72
72
73
73
```js run
74
74
alert("Şimdi ise beklendiği gibi hatasız");
@@ -86,7 +86,7 @@ Bundan dolayı noktalı virgül koyulmaz, bu durumda ilk kod bloğunda tüm blok
86
86
alert("Bir hata gerçekleşecek")[1, 2].forEach(alert)
87
87
```
88
88
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.
89
+
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
90
````
91
91
92
92
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.
@@ -146,6 +146,6 @@ alert( 'Dünya' );
146
146
147
147
Lütfen kod yazarken yorum satırı yazmaktan çekinmeyin.
148
148
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.
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
150
151
151
Daha fazla örneği ve daha iyi nasıl yorum yazabileceğinizi <info:coding-style> bölümünde göreceksiniz.
Copy file name to clipboardExpand all lines: 1-js/02-first-steps/03-strict-mode/article.md
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -4,7 +4,7 @@ Uzun süredir JavaScript uyumluluk sorunu olmadan gelişmeye devam etmektedir. Y
4
4
5
5
Bu eski kodlarınızın çalışacağı garantisini verir. Kötü yanı ise JavaScript geliştiricileri tarafından eskiden verilen kötü bir kararın veya hatanın sürekli tekrar edilmesine neden olur.
6
6
7
-
ECMAScript 5 (ES5) standardı 2009 yılında kabul edilmiştir. Bu standar yeni özellikler eklediği gibi eskide olanlardan bazılarını da düzenlemiştir. Eski kodun çalışabilirliğini garanti altına almak için çoğu düzenleme varsayılan olarak kapalı durumda gelir. Bunları açmak için `"use strict"` kullanılmalıdır.
7
+
ECMAScript 5 (ES5) standardı 2009 yılında kabul edilmiştir. Bu standart yeni özellikler eklediği gibi eskide olanlardan bazılarını da düzenlemiştir. Eski kodun çalışabilirliğini garanti altına almak için çoğu düzenleme varsayılan olarak kapalı durumda gelir. Bunları açmak için `"use strict"` kullanılmalıdır.
Copy file name to clipboardExpand all lines: 1-js/02-first-steps/04-variables/article.md
+4-4Lines changed: 4 additions & 4 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -146,7 +146,7 @@ Böyle dillerde değer bir kutunun içerisinde sonsuza kadar saklanır. Eğer fa
146
146
147
147
JavaScript dilinde değişken oluştururken iki sınırlama vardır.
148
148
149
-
1. Değişken ismi sadece harfler, rakamlar, `$` ve `_` karakterlerindne oluşabilir.
149
+
1. Değişken ismi sadece harfler, rakamlar, `$` ve `_` karakterlerinden oluşabilir.
150
150
2. İlk karakter rakam olamaz.
151
151
152
152
Geçerli bir kaç örnek şu şekildedir:
@@ -207,7 +207,7 @@ let return = 5; // değişken ismi return verilemez, hata!
207
207
208
208
````warn header="`use strict` kullanmadan değer atama"
209
209
210
-
Normalde değişkeni kullanmak için önce tanımlamanız gerekmektedir. Fakat eski zamanlarda tanımlamadan da , `let` kullanmadan da , değer atamak mümkündü. Eğer `use strict` kullanmıyorsanız hala eskisi gibi kullanabilirsiniz. Bu davranış eski kodlarla uyumluluk açısından olduğu gibi bırakılmıştır.
210
+
Normalde değişkeni kullanmak için önce tanımlamanız gerekmektedir. Fakat eski zamanlarda tanımlamadan da , `let` kullanmadan da , değer atamak mümkündü. Eğer `use strict` kullanmıyorsanız hâlâ eskisi gibi kullanabilirsiniz. Bu davranış eski kodlarla uyumluluk açısından olduğu gibi bırakılmıştır.
`sayfaYuklenmeSuresi` çalışmadan önce değeri bilinmeyen bir değerdir. Bundan dolayı normal isimlendirme kullanılır. Çalıştıktan sonra sadece bir defa tanımlanıp daha da değişmeyen bir değer olduğundan hala "sabit" denilebilir.
284
+
`sayfaYuklenmeSuresi` çalışmadan önce değeri bilinmeyen bir değerdir. Bundan dolayı normal isimlendirme kullanılır. Çalıştıktan sonra sadece bir defa tanımlanıp daha da değişmeyen bir değer olduğundan hâlâ "sabit" denilebilir.
285
285
286
286
Diğer bir deyişle büyük harfle yazılan değişken simleri sadece önceden bilinen değerleri tanımlamak için kullanılır.
`${...}` içerisinde yazılan ifade çalıştığında karakter dizisinin bir parçası olur. `${...}` içerisine herşeyi koyabiliriz: değişken ismi `adi` veya matematiksel ifade `1+2` gibi.
113
+
`${...}` içerisinde yazılan ifade çalıştığında karakter dizisinin bir parçası olur. `${...}` içerisine her şeyi koyabiliriz: değişken ismi `adi` veya matematiksel ifade `1+2` gibi.
114
114
115
115
Lütfen unutmayın ki bunu sadece kesme tırnak "`" ile yapabilirsiniz.
116
116
```js run
@@ -193,7 +193,7 @@ Fakat bu şekilde tanımlanmasa daha iyi olur. Normalde `null` kullanılarak de
193
193
## Objeler ve Semboller
194
194
`Obje` özel bir tiptir.
195
195
196
-
Diğer tüm tipler "primitive" yani basit veya ilkel tiplerdir. Bu değişkenler sadece birşey tutabilirler( karakter dizisi veya sayı ). Buna karşılık objeler veri koleksiyonları (collections) veya karmaşık yapılar tutabilirler. <info:object> konusunda Obje daha derinlemesine incelenecektir.
196
+
Diğer tüm tipler "primitive" yani basit veya ilkel tiplerdir. Bu değişkenler sadece bir şey tutabilirler( karakter dizisi veya sayı ). Buna karşılık objeler veri koleksiyonları (collections) veya karmaşık yapılar tutabilirler. <info:object> konusunda Obje daha derinlemesine incelenecektir.
197
197
198
198
`symbol` objeler için benzersiz tanımlayıcılar oluşturmak için kullanılır. Bu konuyu objeleri öğrendikten sonra öğrenmek daha iyi olacaktır.
1.`Math`matematiksal operasyonlar için kullanılacak JavaScript dilinde var olan bir objedir. <info:number> konusunda buna değinilecektir. Burada sadece objenin örneklenmesi için kullanılmıştır.
239
+
1.`Math`matematiksel operasyonlar için kullanılacak JavaScript dilinde var olan bir objedir. <info:number> konusunda buna değinilecektir. Burada sadece objenin örneklenmesi için kullanılmıştır.
240
240
2.`typeof null` sonucu `"object"` dir. Aslında yanlış. Bu `typeof` fonksiyonunun bilinen bir hatasıdır. Eski versiyonlara uygunluk açısından bu şekliyle bırakılmıştır. Yoksa `null` bir obje değildir. Kendine has bir tiptir. Tekrar söylemek gerekirse bu JavaScript dilinin bir hatasıdır.
241
241
3.`typeof alert` fonksiyondur. Çünkü `alert` dilde doğrudan var olan bir fonksiyondur. `Math` ile farklı gördüğünüz gibi. Bir sonraki bölümde fonksiyonlar anlatılacaktır. Fonksiyonlar obje tipine dahildir. Fakat `typeof` bunları farklı yorumlar. Resmi olarak yanlış olsa da pratikte çokça kullanılan bir özelliktir.
0 commit comments