Microsoft/TypeScript
Vedi su GitHub"Did you mean parent object or child property?" in error messsages
Open
#35.738 aperta il 17 dic 2019
Domain: Error MessagesEffort: ModerateExperience EnhancementHelp WantedSuggestion
Metriche repository
- Star
- (48.455 star)
- Metriche merge PR
- (Merge medio 6g 17h) (9 PR mergiate in 30 g)
Descrizione
Discussed with @RyanCavanaugh from his personal dev experience.
It's common to get an error message when accidentally using an inner property of an object. Similarly, we might forget to actually fetch an inner property of an object.
// @strict: true
interface Person {
residence: House;
}
interface House {
isHouseOfPain: boolean;
}
declare let home: House;
declare let person: Person;
home = person.residence.isHouseOfPain;
// ~~~~
// error: Type 'boolean' is not assignable to type 'House'.
home = person;
// ~~~~
// error: Property 'isHouseOfPain' is missing in type 'Person' but required in type 'House'.
// related: 'isHouseOfPain' is declared here.
It'd be nice if we could hint to the user "hey, you might have dotted too far into this object" or "hey, did you mean to grab the residence property?"