After some checking, I found out that it really tells the compiler that undefined is not undefined:)
If you run the compiler by means --strictNullCheckstrying to assign undefined something like string, for example, issue the following errors: Type "undefined" is not assignable to type "string". If you use undefined !, you basically bypass this check, and tsc will not give you an error.
source
share