JavaScript의 삭제 연산자는 실제로 개체 연산자(개체와 함께 사용)입니다.
그러나 배열은 JavaScript에서 인덱스된 객체이기도 하므로 배열과 함께 삭제 연산자를 사용할 수도 있습니다.
다음 리터럴 배열을 고려하십시오 -
const arr = ['a', 'b', 'c', 'd', 'e'];
예시
이제 다음 프로그램을 실행하고 예상 출력을 추측해 보겠습니다 -
const arr = ['a', 'b', 'c', 'd', 'e']; delete arr[4]; console.log(arr); console.log(arr.length);
출력
콘솔에서 이 프로그램의 출력은 -
[ 'a', 'b', 'c', 'd', <1 empty item> ] 5
출력 이해하기 -
배열의 인덱스 값 하나를 삭제했기 때문에 array.length가 5 대신 4를 출력할 것으로 예상했습니다. 그러나 삭제 연산자는 메모리 위치에서 값만 제거하고 위치는 여전히 배열에 의해 점유됩니다.
이것은 배열의 길이를 변경하지 않으며 우리는 여전히 배열에 5개의 요소가 있는 것을 볼 수 있습니다. 이제 하나의 메모리 위치가 비어 있습니다.