El método Object.defineProperty() en JavaScript es un objeto integrado estándar que define una nueva propiedad directamente en un objeto y devuelve el objeto.
Sintaxis:
Object.defineProperty(obj, prop, descriptor)
Parámetro: Este método acepta tres parámetros como se mencionó anteriormente y se describe a continuación:
- Obj: este parámetro contiene el objeto en el que el usuario definirá la propiedad.
- Prop: Este parámetro contiene el nombre de una propiedad que se va a definir o modificar.
- Descriptor: este parámetro contiene el descriptor de la propiedad que se está definiendo o modificando.
Valor devuelto: este método devuelve el objeto que se pasa como argumento a la función.
Los siguientes ejemplos ilustran el método Object.defineProperty() en JavaScript:
Ejemplo 1:
<script> const geek1 = {}; Object.defineProperty(geek1, 'prop1', { value: 65, writable: false }); geek1.prop1 = 7; console.log(geek1.prop1); const geek2 = {}; Object.defineProperty(geek2, 'prop2', { value: 54, value: 23, value: 12*9, }); geek2.prop2 ; console.log(geek2.prop2); </script>
Producción:
65 108
Ejemplo 2:
<script> function gfg() { } var result; Object.defineProperty(gfg.prototype, "valx", { get() { return result; }, set(valx) { result = valx; } }); var vala = new gfg(); var valb = new gfg(); vala.valx = 6; console.log(valb.valx); function gfg1() { } gfg1.prototype.valx = 4; Object.defineProperty(gfg1.prototype, "valy", { writable: false, value: 8 }); var vala = new gfg1(); vala.valx = 4; console.log(vala.valx); console.log(gfg1.prototype.valx); vala.valy = 2; console.log(vala.valy); console.log(gfg1.prototype.valy); </script>
Producción:
6 4 4 8 8
Navegadores compatibles: los navegadores compatibles con el método Object.defineProperty() se enumeran a continuación:
- Google Chrome
- Firefox
- Ópera
- Safari
- Borde
Publicación traducida automáticamente
Artículo escrito por SHUBHAMSINGH10 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA