Các đối tượng trong JavaScript có thể được coi là mảng kết hợp, khóa ánh xạ (thuộc tính) thành các giá trị.
Để xóa thuộc tính khỏi một đối tượng trong JavaScript, bạn sử dụng delete
toán tử:
const o = { lastName: 'foo' }
o.hasOwnProperty('lastName') // true
delete o['lastName']
o.hasOwnProperty('lastName') // false
Lưu ý rằng khi delete
được áp dụng cho thuộc tính chỉ mục của an Array
, bạn sẽ tạo một mảng dân cư thưa thớt (nghĩa là một mảng có chỉ mục bị thiếu).
Khi làm việc với các phiên bản của Array
, nếu bạn không muốn tạo một mảng dân cư thưa thớt - và bạn thường không - thì bạn nên sử dụng Array#splice
hoặc Array#pop
.
Lưu ý rằng delete
toán tử trong JavaScript không trực tiếp giải phóng bộ nhớ. Mục đích của nó là để loại bỏ các thuộc tính từ các đối tượng. Tất nhiên, nếu một thuộc tính bị xóa giữ tham chiếu duy nhất còn lại cho một đối tượng o
, thì sau đó o
sẽ là rác được thu thập theo cách thông thường.
Sử dụng delete
toán tử có thể ảnh hưởng đến khả năng tối ưu hóa mã của công cụ JavaScript .