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

JavaScript 객체에서 속성을 제거하는 방법 – delete 연산자 완벽 정리

JavaScript에서 객체의 특정 속성(property)을 제거하려면 delete 연산자를 사용합니다. delete는 객체에서 해당 속성과 그 값을 완전히 삭제하며, 삭제된 속성에 접근하면 undefined가 반환됩니다.

delete 연산자 기본 문법

delete object.propertyName;

예제 코드

아래 예제는 크리켓 선수 정보를 담은 객체에서 rank 속성을 삭제하는 과정을 보여줍니다.

실시간 데모

<!DOCTYPE html>
<html>
   <body>
      <p id="demo"></p>
      <script>
         var cricketer = {
            name:"Amit",
            rank:1,
            points: 150
         };
         delete cricketer.rank;
         document.getElementById("demo").innerHTML =
            cricketer.name + " has " + cricketer.rank + " rank.";
      </script>
   </body>
</html>

실행 결과

delete cricketer.rank;가 실행된 후 cricketer.rank는 더 이상 존재하지 않으므로, 화면에는 다음과 같이 출력됩니다.

Amit has undefined rank.

delete 연산자 사용 시 주의사항

  • 변수나 함수에는 사용할 수 없습니다. delete는 오직 객체의 속성을 대상으로만 동작합니다.
  • 내장 객체의 속성 삭제는 권장되지 않습니다. 성능 저하와 예기치 않은 동작을 유발할 수 있습니다.
  • 속성 존재 여부 확인: 삭제 후 해당 속성이 실제로 제거되었는지 확인하려면 'rank' in cricketer처럼 in 연산자를 활용할 수 있습니다.

대안: 값만 초기화하고 싶다면

속성 자체를 완전히 제거하는 것이 아니라 값을 비우고 싶다면 null 또는 undefined를 할당하는 방법도 있습니다.

cricketer.rank = null; // 속성은 유지되지만 값이 null로 변경됨