* Using the type 'any'.
* Using the immediate value `undefined` (JS is mental in the fact that it has two kinds of null... and with TS there's really no excuse for using this one, however TS compiler doesn't complain).
* Using very ugly, or very easy to be misleading, typeguards (granted, TS doesn't have decent typeguards, see https://github.com/Microsoft/TypeScript/issues/28337 ...).
For these reasons, I applaud JS people moving to TS. But I will not recommend any other people (non-JS) to use TS at all.