JavaScript - Reflect.deleteProperty() 方法



Reflect.deleteProperty() 提供了一种从对象中删除属性的方法。它可能是 delete 运算符,但它是一个方法而不是运算符。Reflect.deleteProperty() 在成功删除属性时返回 true,在删除失败时返回 false,这与 delete 运算符相反,后者返回一个布尔值,指示属性是否已正确删除。

与 delete 运算符相比,Reflect.deleetProperty() 的主要优点是它在删除失败时的行为。如果不允许删除,则会引发错误,而不是静默保留。

语法

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


 Reflect.deleteProperty( target, propertyKey )

参数

此方法接受两个参数。相同的描述如下 -

  • target - 要删除其属性的目标对象。
  • propertyKey − 表示要删除的属性名称的字符串或符号。

返回值

此方法返回一个 Boolean 值,指示属性是否已成功删除。

示例 1

让我们看看下面的示例,我们将在其中使用 Reflect.deleteProperty() 并从对象中删除属性。


<html>
   <style>
      body {
         font-family: verdana;
         color: #DE3163;
      }
   </style>
   <body>
      <script>
         const x = {
            a: 11,
            b: 22,
            c: 33
         };
         Reflect.deleteProperty(x, 'b');
         document.write(JSON.stringify(x));
      </script>
   </body>
</html>

如果我们执行上述程序,它将在网页上显示文本。

示例 2

考虑另一个场景,我们将删除一个不存在的属性并观察输出。


<html>
   <style>
      body {
         font-family: verdana;
         color: #DE3163;
      }
   </style>
   <body>
      <script>
         const x = {
            a: 1,
            b: 2,
            c: 3
         };
         document.write(Reflect.deleteProperty(x, 'd'), " < br > ");
         document.write(JSON.stringify(x));
      </script>
   </body>
</html>

在执行上述脚本时,它将在网页上显示文本。

示例 3

在下面的示例中,我们将在条件语句中使用 Reflect.deleteProperty()。


<html>
   <style>
      body {
         font-family: verdana;
         color: #DE3163;
      }
   </style>
   <body>
      <script>
         const x = {
            a: 11,
            b: 22,
            c: 33
         };
         const y = 'c';
         if (Reflect.deleteProperty(x, y)) {
            document.write(`Successfully deleted property ${y}`);
         } else {
            document.write(`Failed to delete property ${y}`);
         }
      </script>
   </body>
</html>

当我们执行上述脚本时,会弹出输出窗口,在网页上显示文本。