Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> JavaScript

Xóa thuộc tính khỏi đối tượng JSON trong JavaScript

Mô tả bài toán

Minh họa cách xóa thuộc tính regex khỏi đối tượng bằng toán tử delete.

Ví dụ minh họa

const myObject = {
  "ircEvent": "PRIVMSG",
  "method": "newURI",
  "regex": "^https://.*"
};

delete myObject['regex'];
console.log(myObject.hasOwnProperty("regex")); // false

Kết quả

false

Giải thích

  • delete chỉ xóa thuộc tính riêng của object, không ảnh hưởng prototype chain
  • Không giải phóng bộ nhớ trực tiếp (khác với C/C++), GC sẽ dọn dẹp sau
  • Trả về true nếu xóa thành công hoặc thuộc tính không tồn tại

Lưu ý hiệu năng

Xóa thuộc tính thay đổi "hidden class" của object trong V8, làm chậm truy cập sau đó. Nên gán undefined nếu xóa thường xuyên.