Ranando D Washington-King
Ranando D Washington-King
@RyanCavanaugh > Honestly, the negative response to the # sigil is something we should just ignore and take the hit for, if built-in hard privacy is really needed. People will...
> Your suggestion here is to let people do the bad thing by default, and have them opt into the good behavior? That's backwards. Agreed. However, it's already the language...
In case it isn't clear, I'm not trying to re-hash old arguments. I am very much aware of the fact that no one in TC39 has any intention of amending...
> The language default is this.data = {} in a constructor. Patching data onto the prototype is the anti-pattern. The language default is: * Any object can hold data and...
> Absolutely not. Our responsibility is to design a language that works. Codifying something we know is harmful is the opposite of progress. ... and yet, this proposal... > We've...
> It can't be fixed because it would fundamentally change the language. We agree here, but it's not like there aren't available approaches to make this an "opt-in". It's also...
> Because this is how the MOP is designed! Facts: * The MOP has a major foot-gun * The MOP can be altered in a way that only affects the...
@bakkot > It's still easy enough to do it if you really want to: Wrong yet again. ```js class Example { #foo = "goes to instance"; } Example.prototype.bar() { console.log(`(private...
Here's the part that's getting to me. Nothing in ES before this point made any real distinction regarding what could be stored in a prototype object. Absolutely nothing. Now, however,...
Again with the differing perspectives. The `class` keyword already forces us into strict mode. Why not force in a fix for the prototype problem when data properties are used? It's...