The Object.defineProperty() static method defines a new property directly on an object, or modifies an existing property on an object, and returns the object.| MDN Web Docs
The set syntax binds an object property to a function to be called when there is an attempt to set that property. It can also be used in classes.| MDN Web Docs
Private properties are counterparts of the regular class properties which are public, including class fields, class methods, etc. Private properties get created by using a hash # prefix and cannot be legally referenced outside of the class. The privacy encapsulation of these class properties is enforced by JavaScript itself. The only way to access a private property is via dot notation, and you can only do so within the class that defines the private property.| MDN Web Docs
Classes are a template for creating objects. They encapsulate data with code to work on that data. Classes in JS are built on prototypes but also have some syntax and semantics that are unique to classes.| MDN Web Docs
The get syntax binds an object property to a function that will be called when that property is looked up. It can also be used in classes.| MDN Web Docs
Introduction This Ecma Standard defines the ECMAScript 2026 Language. It is the seventeenth edition of the ECMAScript Language Specification. Since publication of the first edition in 1997, ECMAScript has grown to be one of the world's most widely used general-purpose programming languages. It| tc39.es
The await operator is used to wait for a Promise and get its fulfillment value. It can only be used inside an async function or at the top level of a module.| MDN Web Docs
The super keyword is used to access properties on an object literal or class's [[Prototype]], or invoke a superclass's constructor.| MDN Web Docs