Dépend vraiment de ce que vous essayez de faire. Types de documents en caractères d'imprimerie, de sorte que vous voulez montrer à l'intention sur la façon dont cette chose est censé être utilisé lorsque vous êtes en train de créer le type.
Option 1: Si les Utilisateurs peuvent avoir certains, mais pas tous les attributs au cours de leur vie
Faire tous les attributs facultatifs
type User = {
attr0?: number
attr1?: string
}
Option 2: Si les variables contenant les Utilisateurs peuvent commencer à null
type User = {
...
}
let u1: User = null;
Si, vraiment, ici, si le point est à déclarer l'Utilisateur de l'objet avant qu'il peut être connu, ce qui va lui être attribué, vous voulez probablement faire let u1:User
sans aucune affectation.
Option 3: Ce que vous voulez probablement
Vraiment, le postulat de base de la machine est de s'assurer que vous êtes conforme au modèle mental que vous décrivez dans types afin d'éviter de faire des erreurs. Si vous voulez ajouter des choses à un objet, un par un, c'est une habitude que la Machine tente de vous convaincre de ne pas le faire.
Plus probablement, vous voulez faire quelques variables locales, puis d'attribuer à l'Utilisateur contenant des variables quand il est prêt à être un plein sur l'Utilisateur. De cette façon, vous ne serez jamais à gauche avec une partie formé de l'Utilisateur. Ces choses sont bruts.
let attr1: number = ...
let attr2: string = ...
let user1: User = {
attr1: attr1,
attr2: attr2
}