You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
It would be convenient if TypeScript could narrow the type of an item in a tuple, with literal numeric index, especially when the tuple can contain null items.
Use Cases
For fixed length tuples, we often access each item with a literal numeric index.
When an item of such a tuple is null, TypeScript seems not to be able to narrow the item's type after a null check.
Examples
letperiod: [Date,Date|null]=[newDate(),null];letdateEndStr=[period[1] ? period[1].toISOString() : null];// Error: object period can be null
Checklist
My suggestion meets these guidelines:
This wouldn't be a breaking change in existing TypeScript / JavaScript code
This wouldn't change the runtime behavior of existing JavaScript code
This could be implemented without emitting different JS based on the types of the expressions
This isn't a runtime feature (e.g. new expression-level syntax)
The text was updated successfully, but these errors were encountered:
yahiko00
changed the title
Type narrowing with litteral index in array
Type narrowing with litteral index in tuples
Aug 9, 2018
RyanCavanaugh
changed the title
Type narrowing with litteral index in tuples
Type narrowing with literal index in tuples
Aug 9, 2018
Search Terms
type inference narrowing literal array tuple
Suggestion
It would be convenient if TypeScript could narrow the type of an item in a tuple, with literal numeric index, especially when the tuple can contain null items.
Use Cases
For fixed length tuples, we often access each item with a literal numeric index.
When an item of such a tuple is null, TypeScript seems not to be able to narrow the item's type after a null check.
Examples
Checklist
My suggestion meets these guidelines:
The text was updated successfully, but these errors were encountered: