Skip to content

Commit 247ded7

Browse files
committed
translated array
1 parent ec3b64a commit 247ded7

File tree

2 files changed

+94
-0
lines changed

2 files changed

+94
-0
lines changed

doc/tr/array/constructor.md

Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
## `Dizi` Oluşturucusu
2+
3+
`Dizi` oluşturucusunun parametrelerini nasıl değerlendirdiği belirsiz olduğu
4+
için, yeni diziler oluşturulurken her zaman dizi değişmezlerinin - `[]`
5+
notasyonu - kullanılması tavsiye olunur.
6+
7+
[1, 2, 3]; // Sonuç: [1, 2, 3]
8+
new Array(1, 2, 3); // Sonuç: [1, 2, 3]
9+
10+
[3]; // Sonuç: [3]
11+
new Array(3); // Sonuç: []
12+
new Array('3') // Sonuç: ['3']
13+
14+
`Dizi` oluşturucusuna tek bir argüman verildiğinde, ve bu argümanın türü
15+
`Number` ise, oluşacak *boş* dizinin `length` özelliği argümanın
16+
değerine eşit olacaktır. Bu şekilde oluşturulan bir dizinin **sadece**
17+
`length` özelliği belirlenmiş olacaktır, dizi indisleri ilklenmemiş
18+
olacaktır.
19+
20+
var arr = new Array(3);
21+
arr[1]; // undefined
22+
1 in arr; // false, indisler ilklenmedi
23+
24+
Dizinin uzunluğunu bu şekilde önceden belirlemek sadece bir iki durumda
25+
kullanışlıdır. Bunlardan birisi bir döngüye gerek olmadan bir karakter
26+
katarını tekrarlamaktır.
27+
28+
new Array(count + 1).join(stringToRepeat);
29+
30+
### Sonuç
31+
32+
`Dizi` oluşturucusunun kullanılmasından mümkün olduğu kadar kaçınılmalıdır.
33+
Bunun yerine her zaman dizi değişmezleri tercih edilmelidir. Hem daha kısadırlar
34+
hem de daha net bir sentaksa sahiptirler; bu nedenle programın okunabilirliğini
35+
de artırırlar.
36+

doc/tr/array/general.md

Lines changed: 58 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,58 @@
1+
## Dizi İterasyonu ve Özellikleri
2+
3+
Diziler JavaScript nesneleri olmalarına rağmen, iterasyon yapmak için
4+
[`for in`](#object.forinloop) döngüsü kullanmak için bir neden yoktur.
5+
Aslında dizilerde `for in` kullanılmasına **karşı** bazı iyi nedenler
6+
vardır.
7+
8+
> **Not:** JavaScript dizileri *associative* **değildir**. JavaScript ile sadece
9+
> [nesneler](#object.general) ile anahtar-değer ilişkilendirmesi mümkündür.
10+
> Ve *associative* diziler eleman sıralamasını **korurlar** ama, nesneler
11+
> **korumazlar**.
12+
13+
`for in` döngüsü prototip zincirindeki tüm özellikleri saydığı için ve bunu
14+
engellemenin tek yolu [`hasOwnProperty`](#object.hasownproperty) kullanmak
15+
olduğu için `for in` döngüsü sıradan bir `for` döngüsünden **yirmi kata kadar**
16+
daha yavaştır.
17+
18+
### İterasyon
19+
20+
Dizilerde iterasyon yaparken en iyi performans için en iyi yol klasik `for`
21+
döngüsünü kullanmaktır.
22+
23+
var list = [1, 2, 3, 4, 5, ...... 100000000];
24+
for(var i = 0, l = list.length; i < l; i++) {
25+
console.log(list[i]);
26+
}
27+
28+
Yukarıdaki örnekte bir optimizasyon var, o da dizinin uzunluğun iterasyonun
29+
başında `l = list.length` ile saklanmış olması.
30+
31+
`length` özelliği dizinin kendisinde tariflenmiş olmasına rağmen, her adımda
32+
bu özelliği okumanın yine de bir maliyeti vardır. Modern JavaScript motorları
33+
bu tür durumlar için **muhtemelen** optimizasyon yapıyor olsa bile, programın
34+
her zaman modern bir motorda çalışacağından emin olmak mümkün değildir.
35+
36+
Aslında, yukarıdaki örnekteki optimizasyonu uygulamamak döngünün
37+
**iki kat daha** yavaş çalışmasına neden olabilir.
38+
39+
### `length` özelliği
40+
41+
`length` özelliğine değer atanarak diziyi **kısaltmak** için kullanılabilir.
42+
43+
var foo = [1, 2, 3, 4, 5, 6];
44+
foo.length = 3;
45+
foo; // [1, 2, 3]
46+
47+
foo.length = 6;
48+
foo; // [1, 2, 3]
49+
50+
Daha küçük bir uzunluk atanması diziyi kısaltır, fakat daha büyük bir uzunluk
51+
atanmasının dizi üzerinde bir etkisi yoktur.
52+
53+
### Sonuç
54+
55+
En iyi performans için her zaman sıradan `for` döngüsü kullanılmalı ve
56+
`length` özelliği saklanmalıdır. Dizilerde `for in` döngüsünün kullanılmış
57+
olması hatalara meyilli kötü yazılmış bir programa işaret eder.
58+

0 commit comments

Comments
 (0)