Home >Web Front-end >JS Tutorial >propertydescriptor usage example

propertydescriptor usage example

DDD
DDDOriginal
2023-12-06 14:31:451472browse

Property Descriptor is an important concept in JavaScript, which is used to describe the properties of objects. By using Property Descriptors, we can get, modify, and create properties of objects. The following are several examples of the use of Property Descriptor:

Example 1: Get the Property Descriptor of the property

Suppose we have an object person, which has a property name, we can use Object.getOwnPropertyDescriptor( ) method to get the Property Descriptor of this property:

let person = {  
  name: 'Alice'  
};  
  
let desc = Object.getOwnPropertyDescriptor(person, 'name');  
  
console.log(desc);  
// 输出:  
//   {  
//     value: 'Alice',  
//     writable: true,  
//     enumerable: true,  
//     configurable: true,  
//     get: undefined,  
//     set: undefined  
//   }

In the above code, Object.getOwnPropertyDescriptor(person, 'name') returns an object that contains the property descriptor that describes the name property of the person object. .

Example 2: Using Property Descriptor to create a new property

We can use Property Descriptor to create a new property. For example, suppose we want to create a new property age on the person object:

let person = {};  
  
Object.defineProperty(person, 'age', {  
  value: 25,  
  writable: true,  
  enumerable: true,  
  configurable: true,  
  get: function() { return this._age; },  
  set: function(newVal) { this._age = newVal; }  
});  
  
console.log(person.age); // 输出:25

In the above code, Object.defineProperty(person, 'age', { ... }) defines a new property named age new property and use a Property Descriptor to describe it. Now, we have access to person.age and can modify the value of the age property by setting person.age.

Example 3: Using Property Descriptor to modify an existing property

We can also use Property Descriptor to modify the property descriptor of an existing property. For example, suppose we want to modify the property descriptor of the name property of the person object:

let person = {  
  name: 'Alice'  
};  
  
Object.defineProperty(person, 'name', {  
  value: 'Bob',  
  writable: true,  
  enumerable: true,  
  configurable: true,  
  get: function() { return this._name; },  
  set: function(newVal) { this._name = newVal; }  
});  
  
console.log(person.name); // 输出:'Bob'

In the above code, we use the Object.defineProperty() method to modify the property descriptor of the name property of the person object. Now, we have access to person.name and can modify the value of the name property by setting person.name. Note that in this example we modified the property's value attribute, which also changed the actual value of the property.

The above is the detailed content of propertydescriptor usage example. For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn

Related articles

See more