Before, I would use the old convention of naming fields intended to be private with an _
suffix or prefix.
class X{
constructor() {
this.privateField_;
}
privateMethod_() {}
}
Now that real private accessibility is possible with the #
symbol, I've been using them a bit.
class X{
#privateField;
#privateMethod() {}
}
But one situation I come across is needing to access these private members when debugging. But of course, they're private so I can't unless I write some debug-only wrapper/accessor, which isn't practical if I don't know ahead of time which fields/classes I need to debug. With the _
naming convention, it was easy to bypass intentionally.
Is there a way to bypass the private modifier when using chrome dev console, just like it allows you to use await
outside of async
blocks?
toString()
that allowed you to view the values of private fields, and of course you can define methods to be public or call them from public methods and observe their effects (a la unit testing). – Tightwad