📄️ Prototypal inheritance
[[Prototype]]
📄️ F.prototype
If F.prototype is an object, then the new operator uses it to set [[Prototype]] for the new object.
📄️ Native prototypes
The "prototype" property is widely used by the core of JavaScript itself. All built-in constructor functions use it.
📄️ Prototype methods, objects without __proto__
Setting or reading the prototype with obj.proto is considered outdated and somewhat deprecated (moved to the so-called “Annex B” of the JavaScript standard, meant for browsers only).