Skip to content

Commit c8258d1

Browse files
committed
[tr] Translated delete
1 parent cd06184 commit c8258d1

File tree

1 file changed

+84
-0
lines changed

1 file changed

+84
-0
lines changed

doc/tr/core/delete.md

Lines changed: 84 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,84 @@
1+
## `delete` Operatörü
2+
3+
Kısaca genel kapsamda tanımlanmış değişkenleri, fonksiyonları ve `DontDelete`
4+
niteliğine sahip bazı başka şeyleri silmek *imkansızdır*.
5+
6+
### Genel kapsam ve fonksiyon kapsamı
7+
8+
Bir değişken veya fonksiyon genel kapsamda veya
9+
[fonksiyon kapsamında](#function.scopes) tanımlandığında aktivasyon nesnesinin
10+
veya global nesnenin bir özelliği olacaktır. Bu tür özelliklerin bir takım
11+
nitelikleri vardır ve bunlardan biri `DontDelete` niteliğidir. Genel kapsamda ve
12+
fonksiyon kapsamında tanımlanan değişkenler ve fonksiyonlar yaratıldıklarında
13+
her zaman `DontDelete` niteliğine sahip olacaktır, ve bu nedenle silinemezler.
14+
15+
// genel kapsam değişkeni:
16+
var a = 1; // DontDelete niteliğine sahip
17+
delete a; // false
18+
a; // 1
19+
20+
// normal bir fonksiyon:
21+
function f() {} // DontDelete niteliğine sahip
22+
delete f; // false
23+
typeof f; // "function"
24+
25+
// başka bir değişkene atamak işe yaramaz:
26+
f = 1;
27+
delete f; // false
28+
f; // 1
29+
30+
### Açıkça tanımlanan özellikler
31+
32+
Açıkça tanımlanan özellikleri silmek mümkündür.
33+
34+
// tanımlanan özellik:
35+
var obj = {x: 1};
36+
obj.y = 2;
37+
delete obj.x; // true
38+
delete obj.y; // true
39+
obj.x; // undefined
40+
obj.y; // undefined
41+
42+
Yukarıdaki örnekte `obj.x` ve `obj.y` silinebilir çünkü `DontDelete` niteliğine
43+
sahip değillerdir. Aynı nedenle aşağıdakini yapmak da mümkündür:
44+
45+
// IE hariç çalışır:
46+
var GLOBAL_OBJECT = this;
47+
GLOBAL_OBJECT.a = 1;
48+
a === GLOBAL_OBJECT.a; // true - genel değişken
49+
delete GLOBAL_OBJECT.a; // true
50+
GLOBAL_OBJECT.a; // undefined
51+
52+
Burada `a`'yı silmek için bir hile kullanıyoruz. [`this`](#function.this)
53+
burada genel nesneye işaret ediyor ve `a` değişkenini onun özelliği olarak
54+
atıyoruz, ve böylece onu silebiliyoruz.
55+
56+
IE (en azından 6-8) bazı hatalar içerdiğinden yukarıdaki örenk çalışmayacaktır.
57+
58+
### Fonksiyon argümanları ve önceden tanımlı özellikler
59+
60+
Fonksiyonlara verilen argümanlar, [`arguments` nesnesi](#function.arguments)
61+
ve önceden tanımlı özellikler de `DontDelete` niteliğine sahiptir.
62+
63+
// fonksiyon argümanları ve özellikler:
64+
(function (x) {
65+
delete arguments; // false
66+
typeof arguments; // "object"
67+
68+
delete x; // false
69+
x; // 1
70+
71+
function f(){}
72+
delete f.length; // false
73+
typeof f.length; // "number"
74+
})(1);
75+
76+
### *Host* nesneler
77+
78+
`Host` nesneler üzerinde kullanıldığında `delete` operatörünün davranışı belirsiz
79+
olabilir. Standarda göre `host` nesneler istedikleri davranışı uygulayabilirler.
80+
81+
### Sonuç
82+
83+
`delete` operatörünün davranışı genellikle belirsizdir ve güvenle kullanılabileceği
84+
tek yer sıradanan nesneler üzerinde açıkça tanımlanan özelliklerdir.

0 commit comments

Comments
 (0)