Özet - Strict mode
- TypeScript kursu
- Başlangıç
- Ders 70/89
- 4 dk
Strict seçeneklerini açarak güvenli bir hesap programı yazarsın.
Özet - Strict mode ile güvenli hesap
Bir hesap programında strict: true açmak, null güvenliği ve katı fonksiyon türleri gibi birçok korumayı tek seferde sağlar. Hesap null olabilir; bunu Account | null ile ifade eder ve her işlemde null kontrolü yaparız.
interface Account { id: string; balance: number; }
function deposit(acc: Account | null, amount: number): Account {
if (acc === null) {
return { id: "yeni", balance: amount };
}
return { id: acc.id, balance: acc.balance + amount };
}Uygulama Güvenli hesap programı
Account arayüzünü tanımla: id: string ve balance: number. deposit(acc: Account | null, amount: number): Account fonksiyonu yaz: acc null ise yeni hesap döndür (id: "yeni", balance: amount); değilse acc.balance + amount ile bakiyeyi güncelle. İki örneği yazdır.
Başlangıç kodu
// Account arayüzünü tanımla: id ve balance
// deposit(acc: Account | null, amount: number): Account döndürür
// acc null ise yeni hesap: id "yeni", balance = amount
// değilse balance'a amount ekle
// iki örneği yazdırÖrnek çözüm
interface Account {
id: string;
balance: number;
}
function deposit(acc: Account | null, amount: number): Account {
if (acc === null) {
return { id: "yeni", balance: amount };
}
return { id: acc.id, balance: acc.balance + amount };
}
console.log(deposit(null, 100).balance);
console.log(deposit({ id: "a1", balance: 50 }, 30).balance);Beklenen çıktı
100 80
Soru ve cevaplar
Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.
1 Aşağıdaki strict seçeneklerinden hangisi null güvenliğini sağlar?
- alwaysStrict
- noImplicitAny
- strictNullChecks Doğru cevap
- strictFunctionTypes
Açıklama: strictNullChecks, null ve undefined'i diğer türlerden ayrı yapar ve böylece null güvenliğini sağlar.
2 Null alabilen hesap handler'ı
type AccountHandler = (acc: Account ____ ) => void;
type AccountHandler = (acc: Account | null ) => void;
Açıklama: Hesap null olabileceği için handler parametresi Account | null olmalıdır. & kesişimdir, | undefined farklı bir değer türüdür, ? null ise geçersiz söz dizimidir.
3 Strict mode hesap parçaları
| Kavram | Anlamı |
|---|---|
strict: true |
Tüm seçenekleri tek seferde açar |
Account | null |
Null alabilen hesap türü |
acc === null |
Null kontrolü ile daraltma |
acc.balance + amount |
Bakiye güncelleme |