Deklarasyon Alanları
TypeScript'te iki deklarasyon alanı vardır: variable (değişken) deklarasyon alanı ve type (tip) deklarasyon alanı. Bu konseptler aşağıda incelenmiştir.
Type (Tip) Deklarasyon Alanı
Type (tip) deklarasyon alanı, tip belirteci olarak kullanılabilecek öğeleri içerir. Aşağıdakiler birkaç tip deklarasyona örnektir:
class Foo { }
interface Bar { }
type Bas = {}
Bunun anlamı Foo
, Bar
, Bas
vb. tip belirteci olarak kullanabilirsiniz. Örneğin:
var foo: Foo;
var bar: Bar;
var bas: Bas;
Dikkat edin interface Bar
'a sahip olsanız bile onu değişken olarak kullanamazsınız, çünkü o variable (değişken) deklarasyon alanında tanımlanıp aktarılamamış. Aşağıdaki örnekte gösterilmiştir:
interface Bar {};
var bar = Bar; // ERROR: "cannot find name 'Bar'"
cannot find name (isim bulunamıyor)
demesinin sebebi ise, Bar
isminin variable (değişken) deklarasyon alanında tanımlanmamış olmasıdır. Bu bizi bir sonraki "Variable (Değişken) Deklarasyon Alanı" konusuna götürüyor.
Variable (Değişken) Deklarasyon Alanı
Variable (değişken) deklarasyon alanı, değişken belirteci olarak kullanılabilecek öğeleri içerir. class Foo
'nun tip Foo
olarak tanımlanıp tip deklarasyon alanına aktarılabildiğini gördük. Tahmin edin?, değişken Foo
aynı zamanda variable (değişken) deklarasyon alanına aşağıda gösterildiği gibi tanımlanıp aktarıldı:
class Foo { }
var someVar = Foo;
var someOtherVar = 123;
Bazen sınıfları değişkenler olarak aktarmak istediğimiz için bu harika. Şunu hatırlayın
- Sadece tip deklarasyon alanındaki
interface (arayüz)
gibi şeyleri bir değişken olarak kullanamadık.
var
olarak tanımladığınız birşey benzer olarak, sadece variable (değişken) deklarasyon alanı içerisinde olabilir ve tip belirteci olarak kullanılamaz:
var foo = 123;
var bar: foo; // ERROR: "cannot find name 'foo'"
cannot find name (isim bulunamıyor)
demesinin sebebi ise, foo
isminin type (tip) deklarasyon alanında tanımlanmamış olmasıdır.