JavaScript - Reflect.deleteProperty() 方法



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

Reflect.deleteProperty() 相对于 delete 运算符的主要优点在于它在删除失败时的行为。如果删除不被允许,它会抛出一个错误,而不是默默地忽略。

语法

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

Reflect.deleteProperty( target, propertyKey )

参数

此方法接受两个参数。如下所述:

  • target - 要从中删除属性的目标对象。

  • propertyKey - 表示要删除的属性名称的字符串或符号。

返回值

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

示例

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

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

广告