@kytta from a language theory perspective, TS is a superset of JS, so its Venn diagram would be a larger circle around JS.
So all JS is TS but TS comes with extra type annotations, interfaces, etc. which act like a foundation for much better intellisense and overall tooling.
At runtime of course TS is transpiled down to JS so there's *little* difference between the 2.
For me, TS is a useless headache, but I see how it can make code a bit easier to reason about in large teams and projects. Meh :)