ObjectConstructor.defineProperty<T>(): T
Adds a property to an object, or modifies attributes of an existing property.
o: T
Object on which to add or modify the property. This can be a native JavaScript object (that is, a user-defined object or a built in object) or a DOM object.
p: PropertyKey
The property name.
attributes: PropertyDescriptor & ThisType<any>
Descriptor for the property. It can be for a data property or an accessor property.