当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Javascript Reflect.defineProperty()用法及代码示例


JavaScript中的Reflect.defineProperty()方法用于允许精确添加或修改对象上的属性。此方法返回一个布尔值,该值指示该属性是否已成功定义。

用法:

Reflect.defineProperty(target, propertyKey, attributes) 

参数:此方法接受上述和以下所述的三个参数:



  • target:此参数定义属性和目标对象。
  • propertyKey:此参数是要定义或修改的属性的名称。
  • Attributes:此参数是正在定义或修改的属性的属性。

返回值:此方法返回一个布尔值,该值指示该属性是否已成功定义。

异常:当目标不是对象时,TypeError是作为结果给出的异常。

以下示例说明了JavaScript中的Reflect.defineProperty()方法:

范例1:

const object1 = {}; 
  
if (Reflect.defineProperty(object1, 'geeks1', {value:42})) { 
  console.log('geeks1 assigned'); 
    
} else { 
  console.log('problem created by  geeks1'); 
} 
  
console.log(object1.geeks1); 
   
const object2 = {};  
const object3 = {};  
(Reflect.defineProperty(object2, 'geeks2', {value:97}))   
if (Reflect.defineProperty(object3, 'geeks3', {value:23})) {   
  console.log('geeks3 assigned');   
} else {   
  console.log('problem created by geeks3');   
}   
console.log(object3.geeks3);   
console.log(object2.geeks2);

输出:

"geeks1 assigned"
42
"geeks3 assigned"
23
97

范例2:

const a = {};   
const result = Reflect.defineProperty(a, "geek1",   
{ value:19, });   
  
console.log(a); 
console.log( result);    
  
const b = {};   
const result1 = Reflect.defineProperty(b, "geek2",   
{ value:56,   
  writable:false
}   
);   
console.log(b );   
console.log(result1);  
  
let obj = {} 
Reflect.defineProperty(obj, 'x', {value:71})  // true 
console.log(obj.x)

输出:

Object {  }
true
Object {  }
true
71

支持的浏览器:下面列出了JavaScript Reflect.defineProperty()方法支持的浏览器:

  • 谷歌浏览器
  • IE浏览器
  • Firefox
  • Opera
  • Safari
  • Edge



相关用法


注:本文由纯净天空筛选整理自SHUBHAMSINGH10大神的英文原创作品 JavaScript | Reflect.defineProperty() Method。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。