But, you do add a transpilation step you might not have needed (unless you're writing ES6 code and are already using Babel or something to target ES5 browsers).
But, TypeScript is better for adding strong or static typing than anything else, IMHO, so if you need that feature, don't use anything else.
But, it can be harder to write good TS code because JS devs have long been taking advantage of the weak typing inherent to the language. It can be a challenge to change that mode of thinking and resist the temptation to use the `any` type in TS.
As to the list at the link, point 1 is a non-issue; if you're using advanced JS features that aren't supported by the browser, you already have a transpilation step. Point 2 is not a feature of JS, it's a side-effect. Static typing is awesome and (I would argue) necessary for advanced development. Strong typing is a bit of a double-edged sword, but I'd still rather have it than not. Point 3 is related to point 1 - if you already have a transpilation step for some reason and you want strong/static types, no reason not to jump to TS; it transpiles to JS same as CoffeeScript or Flow or JSX.