File tree Expand file tree Collapse file tree 1 file changed +40
-0
lines changed Expand file tree Collapse file tree 1 file changed +40
-0
lines changed Original file line number Diff line number Diff line change
1
+ ## ` instanceof ` Operatörü
2
+
3
+ ` instanceof ` operatörü verilen iki terimin nesne oluşturucularını karşılaştırır.
4
+ Kullanışlı olduğu tek durum özel nesnelerin karşılaştırılmasıdır. Temel nesneler
5
+ üzerinde kullanıldığında neredeyse [ typeof operatörü] ( #types.typeof ) kadar
6
+ yararsızdır.
7
+
8
+ ### Özel nesneleri karşılaştırmak
9
+
10
+ function Foo() {}
11
+ function Bar() {}
12
+ Bar.prototype = new Foo();
13
+
14
+ new Bar() instanceof Bar; // true
15
+ new Bar() instanceof Foo; // true
16
+
17
+ // Bu satır sadece Bar.prototype'a Foo fonksiyon nesnesinin atar
18
+ // Bir Foo sınıfı nesnesine değil
19
+ Bar.prototype = Foo;
20
+ new Bar() instanceof Foo; // false
21
+
22
+ ### Temel nesnelerle ` instanceof ` kullanımı
23
+
24
+ new String('foo') instanceof String; // true
25
+ new String('foo') instanceof Object; // true
26
+
27
+ 'foo' instanceof String; // false
28
+ 'foo' instanceof Object; // false
29
+
30
+ Dikkat edilmesi gereken ilginç bir nokta, ` instanceof ` operatörünün farklı
31
+ JavaScript kaynaklarından gelen nesneler üzerinde çalışmamasıdır (mesela bir
32
+ internet tarayıcısının farklı dökümanları), çünkü bu durumda nesne
33
+ oluşturucuları aynı olmayacaktır.
34
+
35
+ ### Sonuç
36
+
37
+ ` instanceof ` operatörü ** sadece** aynı JavaScript kaynağından gelen özel
38
+ nesneler ile kullanılmalıdır. Tıpkp [ ` typeof ` ] ( #types.typeof ) operatörü gibi,
39
+ bunun dışındaki tüm kullanımlarından ** kaçınılmalıdır** .
40
+
You can’t perform that action at this time.
0 commit comments