JavaScript - Reflect.deleteProperty() 方法
Reflect.deleteProperty() 提供了一种从对象中删除属性的方法。它类似于 delete 运算符,但它是一个方法而不是一个运算符。Reflect.deleteProperty() 在属性成功删除时返回 true,在删除失败时返回 false;而 delete 运算符则返回一个布尔值,指示属性是否被正确删除。
Reflect.deleetProperty() 相对于 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>
当我们执行上述脚本时,会弹出输出窗口,显示网页上的文本。

