Let’s agree that the term attribute is wrong, you mean field . Typescript has its public members by default, so in the absence of something explicit the access is general.
The fact that you don’t see them wear private
It’s just a coincidence, it’s possible. There’s a chain that doesn’t follow this "object-oriented" fashion that everything has to be private, even if people don’t even understand why they’re doing it. TS is a language of script, As the name says, then it is much less necessary to follow object-oriented rules than in other languages. But if you have a good reason you can establish that any member is private.
It’s a little different from Java, which by the way people think is private by default and is not.