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

Toán tử delete trong JavaScript

Mục đích

Xóa thuộc tính khỏi object. Không xóa biến, không xóa phần tử mảng (chỉ đặt thành undefined/empty slot).

Ví dụ cơ bản

<!DOCTYPE html>
<html>
<body>
  <p id="demo"></p>
  <script>
    var cricketer = {
      name: "Amit",
      rank: 1,
      points: 400
    };
    delete cricketer.rank; // xóa thuộc tính rank
    document.getElementById("demo").innerHTML = 
      cricketer.name + " has " + cricketer.rank + " rank."; // "Amit has undefined rank."
  </script>
</body>
</html>

Đặc điểm quan trọng

  • Trả về true nếu xóa thành công (hoặc thuộc tính không tồn tại).
  • Trả về false nếu thuộc tính không thể cấu hình (non-configurable).
  • Trong strict mode, xóa biến/identifier trực tiếp ném lỗi.

Mảng: delete vs splice

var arr = [1,2,3,4];
delete arr[1];     // [1, empty, 3, 4] – length không đổi, index 1 thành "empty slot"
arr.splice(1,1);   // [1,3,4] – length giảm, index dịch chuyển

Khuyên dùng splice/filter để xóa phần tử mảng.

Không thể xóa

  • Biến khai báo var, let, const.
  • Hàm (function declaration).
  • Thuộc tính built-in non-configurable (ví dụ Object.prototype).