-
Notifications
You must be signed in to change notification settings - Fork 13k
Closed
Labels
Working as IntendedThe behavior described is the intended behavior; this is not a bugThe behavior described is the intended behavior; this is not a bug
Description
My suggestion was hidden in the closed #13792, so i open a new issue about that.
Every object map can be undefined on a random key access. Can we catch this in a general approach or do we have to find every needed definition?
I just changed my own code and had an issue with for in loops. Tested with TS2.1 perhaps this has changed in 2.2
const StringDict: { [index: string]: string; } = {foo: 'bar'};
for (let key in StringDict) {
const thisStringValue = StringDict[key];
}
const StringDict2: { [index: string]: string | undefined; } = {foo: 'bar'};
for (let key in StringDict2) {
const StringValueOrUndefined = StringDict2[key];
}
I cannot imagine a case where StringValueOrUndefined is really able to become undefined. So an extra check to make TS happy would burn CPU cycles.
Metadata
Metadata
Assignees
Labels
Working as IntendedThe behavior described is the intended behavior; this is not a bugThe behavior described is the intended behavior; this is not a bug