TypeScript used to be a beautiful language... until it added #private. Not sure why they keep adding directives in comments as well!
#private is JavaScript...
You are right [0]! I haven't really used any of these in the past years. Whoever came up with that should be banned from language design for life! Every language becomes Java given sufficient time - just like every data format becomes XML.
You seem to have a general problem with the object oriented approach. As JavaScript is a general purpose + general audience language it tries to have minimal support for common paradigms (both fp and oo). That's fine IMO. Private props are fine. They are easy enough to learn and do not really get in your way in JS.
Not really - I've done OOP before it was cool (yeah, I'm old). But to use "#" for private properties - it's beyond fugly and not semantical [0].