JavaScript - Reflect.isExtensible() 方法



Reflect.isExtensible() 方法是一种内置的 JavaScript 方法,用于确定对象是否可扩展。可扩展对象是指可能使用方括号表示法或点表示法添加新属性的对象。相反,不可扩展的对象是不能添加新属性的对象。

与 Object.isExtensible() 方法类似,如果目标不是对象,则 Reflect.isExtensible() 方法不会引发错误。相反,它返回 false。

语法

以下是 JavaScript Reflect.isExtensible() 方法的语法 -


 Reflect.isExtensible( obj )

参数

此方法只接受一个参数。下面描述相同 -

  • obj − 要检查它是否可扩展的目标对象。

返回值

此方法返回 Boolean 值,该值指示目标是否可扩展。

示例 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

在下面的示例中,我们将检查 sealed 对象的可扩展性。


<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>

在运行上述代码时,将弹出输出窗口,在网页上显示文本。