Toán tử delete trong JavaScript thực sự là toán tử đối tượng (dùng với object). Nhưng vì mảng cũng là đối tượng được lập chỉ số, chúng ta có thể dùng delete với mảng.
Xét mảng: const arr = ['a', 'b', 'c', 'd', 'e'];
Ví dụ
Thực thi chương trình sau và đoán đầu ra:
const arr = ['a', 'b', 'c', 'd', 'e']; delete arr[4]; console.log(arr); console.log(arr.length);
Kết quả
Đầu ra trong console:
[ 'a', 'b', 'c', 'd', <1 empty item> ] 5
Giải thích - Vì chúng ta xóa một giá trị chỉ số, mong đợi arr.length ra 4 nhưng thực tế là 5. Toán tử delete chỉ xóa giá trị khỏi vị trí bộ nhớ, vị trí đó vẫn bị chiếm bởi mảng. Do đó độ dài mảng không thay đổi và vẫn thấy 5 phần tử chỉ có một vị trí trống.