Gerçekten ne yapmaya çalıştığına bağlı. Türler, typcript'teki belgelerdir, bu nedenle, türü oluştururken bu şeyin nasıl kullanılması gerektiği konusunda niyet göstermek istersiniz.
1. Seçenek: Kullanıcılar, yaşamları boyunca bazı özelliklere sahip olabilir, ancak tüm özelliklere sahip olmayabilirse
Tüm özellikleri isteğe bağlı yapın
type User = {
attr0?: number
attr1?: string
}
Seçenek 2: Kullanıcılar içeren değişkenler boş başlayabilirse
type User = {
...
}
let u1: User = null;
Yine de, gerçekten, burada amaç, kendisine neyin atanacağı bilinmeden önce Kullanıcı nesnesini bildirmekse, muhtemelen let u1:Userherhangi bir atama yapmadan yapmak istersiniz .
3. Seçenek: Muhtemelen ne istiyorsunuz
Gerçekten, typcript'in öncülü, hata yapmaktan kaçınmak için türlerde ana hatlarıyla belirlediğiniz zihinsel modele uyduğunuzdan emin olmaktır. Bir nesneye tek tek bir şeyler eklemek istiyorsanız, bu, TypeScript'in yapmamanızı sağlamaya çalıştığı bir alışkanlıktır.
Daha büyük olasılıkla, bazı yerel değişkenler oluşturmak ve ardından tam Kullanıcı olmaya hazır olduğunda Kullanıcı içeren değişkene atamak istersiniz. Bu şekilde, asla kısmen oluşturulmuş bir Kullanıcıyla kalmazsınız. Bu şeyler iğrenç.
let attr1: number = ...
let attr2: string = ...
let user1: User = {
attr1: attr1,
attr2: attr2
}
usertipte olmak istersinizUser | {}yaPartial<User>daUserboş bir nesneye izin vermek için türü yeniden tanımlamanız gerekir . Şu anda, derleyici size doğru bir şekilde bununusera olmadığını söylüyorUser.