One thing I like about JS is that you dont have to think about types
This is patently wrong. You _are_ thinking about types. Every object, function, variable you write has a type you store in your head. The question is about how easy it is to remember those types in 6 months, or how hard it would be for a new developer to figure them out.
JS has always had a test driven approach
Yes, and you should keep that test-driven approach with TypeScript. I'm not sure why anyone would assert otherwise.
For both good and bad it doesn't matter if you give me an apple or orange, they are about the same size so, but you might have problems giving me an banana. Example:
Comments
This is patently wrong. You _are_ thinking about types. Every object, function, variable you write has a type you store in your head. The question is about how easy it is to remember those types in 6 months, or how hard it would be for a new developer to figure them out.
Yes, and you should keep that test-driven approach with TypeScript. I'm not sure why anyone would assert otherwise.
For both good and bad it doesn't matter if you give me an apple or orange, they are about the same size so, but you might have problems giving me an banana. Example:
const len = x => x.length;