當前位置: 首頁>>編程示例 >>用法及示例精選 >>正文


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。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。