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


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


Javascript中的Reflect.getOwnPropertyDescriptor()方法用于获取对象的描述符。它与Object.getOwnPropertyDescriptor方法相同,但是非对象目标的处理方式不同。

用法:

Reflect.getOwnPropertyDescriptor(obj, Key) 

参数:该方法接受上述和以下所述的两个参数:



  • Obj:此参数保存目标对象,并查找属性。
  • Key:此参数用于获取属性名称的自己的属性描述符。

返回值:此方法返回属性描述符对象,如果目标对象不存在,则返回未定义。

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

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

范例1:

<script> 
  
let object = { 
    property1:"geeks"
}; 
  
console.log(Reflect.getOwnPropertyDescriptor( 
                    object, 'property1').value); 
                      
console.log(Reflect.getOwnPropertyDescriptor( 
                    object, 'property2')); 
                      
console.log(Reflect.getOwnPropertyDescriptor( 
                    object, 'property1').writable); 
  
let object1 = {  
    property2:"Javascript"
};  
  
const object3 = { 
    property3:232 
};  
  
console.log(Reflect.getOwnPropertyDescriptor( 
                    object1, 'property2').value);  
                      
console.log(Reflect.getOwnPropertyDescriptor( 
                    object1, 'property3'));  
                      
console.log(Reflect.getOwnPropertyDescriptor( 
                    object1, 'property2').writable);  
  
console.log(Reflect.getOwnPropertyDescriptor 
                (object3, "null" ) === undefined  
); 
  
</script>

输出:

"geeks"
undefined
true
"Javascript"
undefined
true
true

范例2:

<script> 
  
const object1 = {  
    property1:"NULL" 
};  
  
console.log(Reflect.getOwnPropertyDescriptor( 
                    object1, 'property2'));  
console.log(Reflect.getOwnPropertyDescriptor( 
                    object1, 'property1').writable); 
console.log(Reflect.getOwnPropertyDescriptor( 
                    object1, 'property1')); 
  
console.log(Reflect.getOwnPropertyDescriptor( 
                    {val:'hello'}, 'val')); 
console.log(Reflect.getOwnPropertyDescriptor( 
                    {val1:'hello'}, 'y')); 
console.log(Reflect.getOwnPropertyDescriptor( 
                    [], 'length')); 
  
</script>

输出:]

undefined
true
[object Object] {
  configurable:true,
  enumerable:true,
  value:"NULL",
  writable:true
}
[object Object] {
  configurable:true,
  enumerable:true,
  value:"hello",
  writable:true
}
undefined
[object Object] {
  configurable:false,
  enumerable:false,
  value:0,
  writable:true
}

范例3:调用非对象并发生错误。

<script> 
console.log(Reflect.getOwnPropertyDescriptor('foo', 0)); 
</script>

输出:

Error:Reflect.getOwnPropertyDescriptor called on non-object

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

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

参考: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/getOwnPropertyDescriptor




相关用法


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