JavaScript delete 연산자란?
JavaScript에서 delete 연산자는 객체에 존재하는 특정 프로퍼티(속성)를 제거할 때 사용하는 키워드입니다. delete 연산자가 실행되면 해당 프로퍼티와 그 값이 객체에서 완전히 사라지며, 이후 해당 프로퍼티에 접근하면 undefined가 반환됩니다.
기본 문법
delete object.property;
// 또는
delete object['property'];예제
다음 코드를 실행해 보면 객체에서 프로퍼티를 삭제하는 방법을 직접 확인할 수 있습니다.
<!DOCTYPE html>
<html>
<body>
<p id="demo"></p>
<script>
var cricketer = {
name: "Amit",
rank: 1,
points: 400
};
// rank 프로퍼티 삭제
delete cricketer.rank;
document.getElementById("demo").innerHTML =
cricketer.name + "의 랭크: " + cricketer.rank;
</script>
</body>
</html>실행 결과
Amit의 랭크: undefined
rank 프로퍼티가 delete 연산자에 의해 삭제되었기 때문에, 출력 시 더 이상 값이 존재하지 않고 undefined가 표시됩니다.
delete 연산자 사용 시 주의사항
- 삭제된 프로퍼티에 다시 접근하면
undefined가 반환됩니다. - 존재하지 않는 프로퍼티를 삭제해도 에러 없이
true를 반환합니다. var키워드로 선언한 변수나 함수 선언문은 delete로 삭제할 수 없습니다.- 배열 요소에 delete를 사용하면 배열 길이는 그대로 유지되고 해당 위치만 빈 상태(
empty)가 되므로, 배열에서 요소를 완전히 제거하려면splice()메서드를 사용하는 것이 좋습니다.