JavaScript | Método Object.defineProperties()

El método Object.defineProperties() en JavaScript es un objeto incorporado estándar que define una propiedad nueva o modifica las propiedades existentes directamente en un objeto y lo devuelve.
Sintaxis: 
 

Object.defineProperties(obj, props) 

Parámetro: 
 

  • Obj: Este parámetro contiene el objeto sobre el que se van a definir o modificar las propiedades.
  • Props: Este parámetro es un objeto cuyas propias propiedades enumerables constituyen descriptores de las propiedades a definir o modificar.

Valor devuelto: este método devuelve un objeto que se pasa como argumento a la función.
Los siguientes ejemplos ilustran el método Object.defineProperties() en JavaScript:
Ejemplo 1: 
 

javascript

const geek = {};
 
Object.defineProperties(geek, {
  prop1: {
    value: "geeksforgeeks",
    writable: true
  },
  prop2: {}
});
 
console.log(geek.prop1);
console.log(geek.prop2);

Producción: 
 

"geeksforgeeks"
undefined

Ejemplo 2: 
 

javascript

var geek = {};
Object.defineProperties(geek, {
  'prop1': {
    value: "Geeks",
    writable: true
  },
  'prop2': {
    value: 'Hello',
    writable: false
  }
});
console.log(geek.prop2);
console.log(geek.prop1);
  
const geek1 = {}; 
Object.defineProperties(geek1, {
  prop1: { 
    value: "Hi", 
    value: "Hello", 
    value: "Namaste",
  }, 
  prop2: { 
    value: " And ", },
    prop3: { 
    value: "learn", 
   value: "Stay Safe", } 
});
 
console.log(geek1.prop1, geek1.prop2, geek1.prop3);

Producción: 
 

"Hello"
"Geeks"
"Namaste" " And " "Stay Safe"

Navegadores compatibles: los navegadores compatibles con el método Object.defineProperties() se enumeran a continuación: 
 

  • Google Chrome 6.0 y superior
  • Internet Explorer 9.0 y superior
  • Mozilla 4.0 y superior
  • Ópera 11.1 y superior
  • Safari 5.0 y superior

Publicación traducida automáticamente

Artículo escrito por SHUBHAMSINGH10 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *