Computer >> 컴퓨터 >  >> 프로그래밍 >> JavaScript

JavaScript에서 객체 속성을 삭제하는 방법 완벽 가이드

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를 할당하는 것이 더 나은 선택일 수 있습니다.