unknown'dan cast
- TypeScript kursu
- Orta seviye
- Ders 69/89
- 4 dk
unknown'dan güvenli şekilde cast etmeyi öğrenirsin.
unknown türü
unknown, any'nin tür güvenli halidir. Bir unknown değerini doğrudan kullanamazsın; önce onu daraltman (narrow) gerekir. Bu, typeof veya instanceof kontrolleriyle ya da as ile tür onaylayarak yapılır.
let gizli: unknown = "selam";
// gizli.toUpperCase(); hata!
if (typeof gizli === "string") {
console.log(gizli.toUpperCase());
}typeof ile daraltma
typeof operatörü ilkel türleri kontrol eder. Bir unknown değerini typeof gizli === "string" gibi bir koşulla daralttığında, TypeScript o blok içinde değerin string olduğunu bilir ve string metotlarına izin verir. Bu en güvenli daraltma yöntemidir.
Uygulama unknown'ı string'e daralt
gizli değişkeni unknown türünde ve değeri "merhaba". typeof ile string mi kontrol et; eğer öyleyse toUpperCase() metodunu çağırıp sonucu console.log ile yazdır.
Başlangıç kodu
// gizli degiskeninin string olup olmadigini typeof ile kontrol et
// eger stringse toUpperCase metodunu cagir ve yazdir
const gizli: unknown = "merhaba";Örnek çözüm
const gizli: unknown = "merhaba";
if (typeof gizli === "string") {
console.log(gizli.toUpperCase());
}Beklenen çıktı
MERHABA
Soru ve cevaplar
Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.
1 Bir unknown değişkenle doğrudan işlem yapabilmek için ne gerekir?
- Türün daraltılması veya onaylanması Doğru cevap
- Değerin yeni bir değişkene kopyalanması
- const ile yeniden bildirilmesi
- Değişkenin global olarak bildirilmesi
Açıklama: unknown değerler doğrudan kullanılamaz; önce typeof/instanceof ile daraltılmalı veya as ile onaylanmalıdır.
2 typeof operatörü
const gizli: unknown = "selam";
if (____ gizli === "string") {
console.log(gizli.toUpperCase());
}
const gizli: unknown = "selam";
if (typeof gizli === "string") {
console.log(gizli.toUpperCase());
}
Açıklama: İlkel türleri kontrol etmek için typeof operatörü kullanılır; instanceof sınıf örnekleri içindir.
3 unknown kavramları
| Kavram | Anlamı |
|---|---|
unknown |
Daraltma gerektiren tür |
typeof |
İlkel tür kontrolü |
instanceof |
Sınıf örneği kontrolü |
as |
Türü onaylama |