Name
Object.defineProperty() — create or configure an object property
Availability
ECMAScript 5
Synopsis
Object
.
defineProperty
(
o
,
name
,
desc
)
Arguments
o
The object on which a property is to be created or configured.
name
The name of the property to be created or configured.
desc
A property descriptor object that describes the new property or describes the changes to be made to an existing property.
Returns
The object o
.
Throws
- TypeError
If
o
is not an object, or if the property cannot be created (becauseo
is not extensible) or configured (because it already exists and is non-configurable, for example). See Property Attributes for a list of property configuration errors that can cause this function to throw a TypeError.
Description
Object.defineProperty()
creates or configures the property named
name
of the object
o
, using the property descriptor
desc
. See Object.getOwnPropertyDescriptor() for an explanation
of property descriptor objects.
If o
does not already have a
property named name
, then this function
simply creates a new property with the attributes and value
specified in desc
. If any properties are
missing from desc
, then the corresponding
attributes are set to false
or
undefined
.
If name
is the name of an existing
property of o
, then Object.defineProperty()
configures that
property by altering its value or attributes. In this case,
desc
only needs to contain the attributes
to be changed: attributes not mentioned in
desc
will not be altered.
Note that this is not a method to be invoked on an ...
Get JavaScript: The Definitive Guide, 6th Edition now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.