Object.defineProperty() is a static method defined on Object. MDN states that

Object.defineProperty() defines a new property directly on an object, or modifies an existing property on an object…

When I first came across this method, I wondered if defining a property with Object.defineProperty() was ultimately the same as defining an object property via assignment like so: