📜  删除属性 javascript (1)

📅  最后修改于: 2023-12-03 15:22:43.182000             🧑  作者: Mango

删除属性 JavaScript

在 JavaScript 中,我们可以通过 delete 关键字来删除对象的属性。

删除属性语法:
delete objectName.propertyName;

delete objectName["propertyName"];
注意事项
  • delete 表达式返回 true,如果删除对象的属性成功,否则返回 false
  • 在严格模式下,无法删除未声明的变量/函数。
  • 在非严格模式下,删除未声明的变量/函数将不会抛出异常。但是仍不建议这么做。
  • 在普通对象中,可以通过 delete 关键字删除属性。但是在内置对象中,如 windowdocument 等,某些属性可能是只读的,不能被删除。
示例
let person = { name: "John", age: 30 };

delete person.age;

console.log(person);
// 输出:{ name: "John" }
function foo() {
  var x = 1;
  console.log(delete x);       // false
}

foo();
function bar() {
  'use strict';
  var y = 1;
  console.log(delete y);       // Uncaught SyntaxError: Delete of an unqualified identifier in strict mode.
}

bar();
console.log(delete Math.PI);   // false,Math.PI 是只读属性,不能被删除。
小结

delete 关键字用于删除对象属性,可以删除常规对象中的属性,但有些内置对象属性是只读的,不能被删除。务必注意使用场景及注意事项,以避免出错。