JavaScript - Reflect.isExtensible() 方法



Reflect.isExtensible() 方法是 JavaScript 內建方法,用於確定物件是否可擴充套件。可擴充套件物件是指可以使用方括號表示法或點表示法向其新增新屬性的物件。相反,不可擴充套件物件是指不能向其新增新屬性的物件。

與 Object.isExtensible() 方法類似,Reflect.isExtensible() 方法在目標不是物件時不會丟擲錯誤。而是返回 false。

語法

以下是 JavaScript Reflect.isExtensible() 方法的語法:

Reflect.isExtensible( obj )

引數

此方法只接受一個引數。如下所述:

  • obj - 要檢查是否可擴充套件的目標物件。

返回值

此方法返回一個布林值,指示目標物件是否可擴充套件。

示例

示例 1

讓我們看下面的例子,我們將檢查物件的擴充套件性。

<html>
   <style>
      body {
         font-family: verdana;
         color: #DE3163;
      }
   </style>
   <body>
      <script>
         let x = {};
         document.write(Reflect.isExtensible(x));
      </script>
   </body>
</html>

如果我們執行上述程式,它將在網頁上顯示一段文字。

示例 2

考慮另一種情況,我們將使一個物件不可擴充套件。

<html>
   <style>
      body {
         font-family: verdana;
         color: #DE3163;
      }
   </style>
   <body>
      <script>
         let x = {};
         Reflect.preventExtensions(x);
         document.write(Reflect.isExtensible(x));
      </script>
   </body>
</html>

執行上述指令碼後,它將在網頁上顯示一段文字。

示例 3

在下面的例子中,我們將檢查一個密封物件的擴充套件性。

<html>
   <style>
      body {
         font-family: verdana;
         color: #DE3163;
      }
   </style>
   <body>
      <script>
         let x = {};
         Object.seal(x);
         document.write(Reflect.isExtensible(x));
      </script>
   </body>
</html>

當我們執行上述指令碼時,輸出視窗將彈出,在網頁上顯示文字。

示例 4

以下是示例,我們將檢查一個凍結物件的擴充套件性。

<html>
   <style>
      body {
         font-family: verdana;
         color: #DE3163;
      }
   </style>
   <body>
      <script>
         let x = {};
         Object.freeze(x);
         document.write(Reflect.isExtensible(x));
      </script>
   </body>
</html>

執行上述程式碼後,輸出視窗將彈出,在網頁上顯示文字。

廣告