刪除對象的方法 js刪除對象的屬性怎么做

要從一個對象中刪除一個屬性,你可以這樣做 。
delete myObject.regex;// 或者delete myObject['regex'];// 或者,var prop = "regex";delete myObject[prop];示例
var myObject = {"a": "1111","b": "2222","c": "3333"};delete myObject.a;console.log(myObject);知識點: delete 操作符delete 操作符用于刪除對象的某個屬性;如果沒有指向這個屬性的引用,那它最終會被釋放 。
與通常的看法不同,delete操作符與直接釋放內存無關 。內存管理 通過斷開引用來間接完成的,查看內存管理頁可了解詳情 。
delete 操作符會從某個對象上移除指定屬性 。成功刪除的時候會返回 true,否則返回 false 。
【刪除對象的方法 js刪除對象的屬性怎么做】但是,以下情況需要重點考慮:

  • 如果你試圖刪除的屬性不存在,那么delete將不會起任何作用,但仍會返回true
  • 如果對象的原型鏈上有一個與待刪除屬性同名的屬性,那么刪除屬性之后,對象會使用原型鏈上的那個屬性(也就是說,delete操作只會在自身的屬性上起作用)
  • 任何使用 var 聲明的屬性不能從全局作用域或函數的作用域中刪除 。這樣的話,delete操作不能刪除任何在全局作用域中的函數(無論這個函數是來自于函數聲明或函數表達式)除了在全局作用域中的函數不能被刪除,在對象(object)中的函數是能夠用delete操作刪除的 。
  • 任何用let或const聲明的屬性不能夠從它被聲明的作用域中刪除 。
  • 不可設置的(Non-configurable)屬性不能被移除 。這意味著像Math, Array, Object內置對象的屬性以及使用Object.defineProperty()方法設置為不可設置的屬性不能被刪除 。
代碼例子:
var Employee = {age: 28,name: 'abc',designation: 'developer'}console.log(delete Employee.name);// returns trueconsole.log(delete Employee.age);// returns true// 當試著刪除一個不存在的屬性時// 同樣會返回trueconsole.log(delete Employee.salary); // returns true

    推薦閱讀