Skip to content

Automatic adding undefined to dictionary maps #14144

Closed
@HolgerJeromin

Description

@HolgerJeromin

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

No one assigned

    Labels

    Working as IntendedThe behavior described is the intended behavior; this is not a bug

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions