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>

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

广告