Suggestion: CFA, assignment, strict null checks and function scope #17449
Labels
Suggestion
An idea for TypeScript
Too Complex
An issue which adding support for may be too complex for the value it adds
TypeScript Version: 2.4.2
Code
Currently, TypeScript resets the type of variables within a function scope, giving the error that the variable is possibly
undefined
, but it can be statically determined that after the function, the outer scope does no re-assignment. So it is possible to determine that there is no re-assignment and thereforefoo
will always be assigned.Related to #9998 (trade-offs in CFA)
Related to #11498 (annotate immediately invoked callbacks)
Expected behavior:
No errors.
Actual behavior:
Object is possibly 'undefined'
The text was updated successfully, but these errors were encountered: