File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree 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