JavaScript에서 객체의 속성(property)을 삭제하려면 delete 연산자를 사용해야 합니다. delete 연산자는 점 표기법(dot notation)과 대괄호 표기법(bracket notation) 두 가지 방식 모두에서 사용할 수 있습니다.
문법(Syntax)
delete object.property;
예제(Example)
다음 예제에서는 처음에 "country" 속성에 접근하면 그 값인 "England"가 출력됩니다. 그러나 delete 키워드를 사용해 해당 속성을 삭제한 후에는 "England" 대신 undefined가 출력되는 것을 확인할 수 있습니다.
<html>
<body>
<script>
var txt = "";
var person = {
"name":"Ram",
"age":27,
"address": {
"houseno" : 123,
"streetname" : "Baker street",
"country": "England"
}
}
document.write("Before deletion :" + " "+ person.address.country);
delete person.address.country;
document.write("</br>");
document.write("After deletion :" + " "+ person.address.country);
</script>
</body>
</html>실행 결과(Output)
Before deletion : England After deletion : undefined
delete 연산자 사용 시 참고 사항
- delete 연산자는 객체 자체의 속성만 제거하며, 프로토타입 체인에 존재하는 속성에는 영향을 주지 않습니다.
var,let,const로 선언된 변수나 함수 선언에는 delete를 사용할 수 없습니다.- 속성 삭제 성공 여부는
true또는false불리언 값으로 반환됩니다. - 존재하지 않는 속성을 삭제해도 에러가 발생하지 않고
true를 반환합니다.
또한, JavaScript 엔진의 최적화 관점에서 객체 속성을 자주 삭제하는 것은 성능 저하를 유발할 수 있습니다. 단순히 값을 비우는 것이 목적이라면 속성을 삭제하는 대신 null이나 undefined를 할당하는 것이 더 나은 선택일 수 있습니다.