I know that every JavaScript object has an internal property called [[Prototype]]. Some implementations allow access to it via a property called __proto__
[[Prototype]]
__proto__
The reason it's in brackets is to denote that it's a private property. The brackets themselves are never used in code anywhere.
As you pointed out, some implementation provide access to that private property under __proto__, but it's non-standard.