Dùng từ khóa delete — cách duy nhất thực sự xóa property khỏi object.
Cú pháp
delete object.property;
// hoặc
delete object['property']; // Bracket notation — key có ký tự đặc biệt hoặc biến
Ví dụ cơ bản
<script>
const person = {
name: 'Ram',
age: 27,
address: {
houseNo: 123,
street: 'Baker Street',
country: 'England'
}
};
document.write('Trước xóa: ' + person.address.country + '<br>'); // England
delete person.address.country;
document.write('Sau xóa: ' + person.address.country); // undefined
</script>
Đặc điểm quan trọng
- Trả về
truenếu xóa thành công hoặc property không tồn tại. - Trả về
falsechỉ khi property là non-configurable (strict mode throw TypeError). - Không ảnh hưởng prototype chain — chỉ xóa own property.
- Property bị xóa:
'prop' in objtrả vềfalse,obj.proptrả vềundefined.
Khác với gán undefined/null
| Cách | Property còn tồn tại? | 'key' in obj | Enumerable? |
|---|---|---|---|
delete obj.key | Không | false | Không |
obj.key = undefined | Có | true | Có |
obj.key = null | Có | true | Có |