> For the complete documentation index, see [llms.txt](https://afatihyavasi.gitbook.io/typescript-notlari/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://afatihyavasi.gitbook.io/typescript-notlari/handbook/any-ve-unknown.md).

# any ve unknown

### **any**

Değişken tipinin ne olacağını karar veremediğimiz durumlarda **any** ile herhangi bir tip olacağını tanımlayabiliriz. Böylece **TypeScript** tip kontrolü yapmaz. **any** ile tanımlama yaptığımız da **TypeScript** in temel amacı type checking i kullanmadığımızı unutmamalıyız.

```typescript
let age:any;

age = '32';
age = 32;
```

### unknown

Değişken tipinin ne olduğunu bilmediğimiz durumlarda **unknown** tip tanımlamasını kullanabiliriz. Örneğin API dan aldığımız bir değerin tipini bilmediğimiz durumlarda **unknown** tip tanımlamasını kullanabiliriz.

**unknown** tanımlaması yaptığımız bir değişkeni, şart ifadeleri sayesinde istediğimiz duruma göre kullanabiliriz. **any** den ayıran en büyük özelliği, **any** de herhangi bir şart ifadesi olmadan istediğimiz metodu kullanabilmezdi. Bu yüzden **unknown** kullanmak **any** e göre daha güvenlidir.\
\
Örneklerle açıklarsak,

![](https://1559559760-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-Meec30BW_fl6QaxZdtW%2F-MenpuU-MtwWHkfwpQpg%2F-Meo0RlnMv0tsY_07Q_W%2FEkran%20Resmi%202021-07-17%2013.31.42.png?alt=media\&token=80898b56-8010-40ab-b7fe-6d4204516b74)

**any** ile değişkenimizi tanımladığımızda, **string** metodu olan **toLowerCase()** i kullandığımızda herhangi bir hata vermiyor.  Ayni ifadeyi **unknown** ile yazdığımız zaman

![](https://1559559760-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-Meec30BW_fl6QaxZdtW%2F-MenpuU-MtwWHkfwpQpg%2F-Meo0t7VnjuRaMmjHgdl%2FEkran%20Resmi%202021-07-17%2013.33.25.png?alt=media\&token=ff70227b-7449-4743-b6f9-40e68c25757c)

görüldüğü gibi editörümüz hata veriyor.&#x20;

![](https://1559559760-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-Meec30BW_fl6QaxZdtW%2F-MenpuU-MtwWHkfwpQpg%2F-Meo1Dj9sHe4teq3O6ZA%2FEkran%20Resmi%202021-07-17%2013.35.02.png?alt=media\&token=eecd5e88-41cd-4136-86a4-9190eca849af)

Yukarıda ki gibi şartlı ifadelerle kullandığımız takdirde herhangi bir hata karşımıza çıkmamış olucak. Böylece dinamik bir ifadeyi programımızda kullanırken type checking işlemini sağlamış oluyoruz.
