Object.getOwnPropertyDescriptor
Object.getOwnPropertyDescriptor(object, propertyname)
Returns the definition of a data property or an accessor property.
If you wish to make changes to the definition, you must use Object.defineProperty to commit these changes.
A property descriptor is an object with the following fields:
value - The value associated with the property. (data descriptors only). Defaults to undefined.
writable - True if and only if the value associated with the property may be changed. (data descriptors only). Defaults to false.
get - A function which serves as a getter for the property, or undefined if there is no getter. (accessor descriptors only). Defaults to undefined.
set - A function which serves as a setter for the property, or undefined if there is no setter. (accessor descriptors only). Defaults to undefined.
configurable - True if and only if the type of this property descriptor may be changed and if the property may be deleted from the corresponding object. Defaults to false.
enumerable - True if and only if this property shows up during enumeration of the properties on the corresponding object. Defaults to false.