Maybe I'm biased because of other languages that use the semantically correct 'private' keyword, but that's because how they create scopes for classes. Would you rather see the traditional 'private' keyword used? Do you think it's possible to use lexical scoping to define a private property without having to use the octothorp, kind of like how PHP or Java have private variables? The arguments I've seen is how to differentiate between something that's a private and public, using the octothorp enforces that it's not accessible outside of that object. There's an extensive conversation about it here: https://github.com/tc39/proposal-class-fields/issues/56