Maison > Questions et réponses > le corps du texte
P粉1945410722023-08-25 11:31:36
Il s'agit d'un comportement intentionnel. Voir la longue discussion sur ce problème sur le référentiel TypeScript GitHub
Votre strictNullChecks
est fermé ; essayez de l'ouvrir.
P粉3302320962023-08-25 11:19:47
TypeScript 4.1 introduit un --noUncheckedIndexedAccess
编译器标志,实现了在microsoft/TypeScript#13778中提出的建议,以考虑这种情况下的undefined
。请注意,该功能不会作为--strict
编译选项集的一部分启用,并且被称为“严格的索引签名”,因为它会在程序员可能不希望或期望的情况下发出关于undefined
avertissement.
Vous avez découvert que les signatures d'index n'ajoutent pas | undefined
aux types d'éléments comme le font les attributs facultatifs. Il a été suggéré de créer une option de compilateur pour y parvenir sur microsoft/TypeScript#13778. Vous pouvez lire les commentaires dans cette suggestion ; ils renvoient à d'autres questions, mais le consensus est que le taux d'erreur élevé la rend presque inutile.
mentionne également que vous pouvez ajouter manuellement | undefined
au type d'élément :
const list: (Item | undefined)[] = [{ id: 'a' }, { id: 'b' }];
Cela fonctionnera comme prévu sans affecter la langue entière.