Xóa các đặc tính object Javascript

Xóa các đặc tính object Javascript

Toán tử delete (học phần trước) loại bỏ một đặc tính khỏi một object. Toán hạng đơn của nó nên là một biểu thức
truy cập đặc tính. Đáng ngạc nhiên là, delete không hoạt động trên giá trị của đặc tính nhưng không trên bản thân
đặc tính:

delete book.author; // The book object now has no author property.
delete book[“main title”]; // Now it doesn’t have “main title”, either.

Toán tử delete chỉ xóa bản thân các đặc tính, không phải những cái thừa kế. (Để xóa một đặc tính kế thừa, bạn phải
xóa nó từ prototype object trong đó nó được định nghĩa. Làm cái này ảnh hưởng mọi object cái kế thừa từ prototype
đó).
Biểu thức delete đánh giá thành true nếu việc xóa thành công hay nếu việc xóa không có ảnh hưởng (như xóa một đặc
tính không tồn tại). delete cũng đánh giá thành true khi sử dụng không có nghĩa với một biểu thức cái không phải là
một biểu thức truy cập đặc tính:

let o = {x: 1}; // o has own property x and inherits property toString
delete o.x // => true: deletes property x
delete o.x // => true: does nothing (x doesn’t exist) but true anyway
delete o.toString // => true: does nothing (toString isn’t an own property)
delete 1 // => true: nonsense, but true anyway

Chia sẻ