자바스크립트 객체가 가진 값, 프로퍼티 및 메소드를 제거하는 방법입니다.

객체의 프로퍼티, 메소드를 제거하는 방법으로 delete 키워드를 사용합니다. delete를 사용하면 선택한 프로퍼티 또는 메소드를 쉽게 제거할 수 있습니다. 그럼 아래 예제를 봐주세요.


# 객체 프로퍼티, 메소드 삭제하는 방법
아래의 obj라는 객체가 존재하는 경우 속성값 no를 제거하려합니다.

obj = {
  no: 1,
  name: 'webisfree'
}

만약 no를 제거할 경우 아래와 같이 수행합니다.

delete obj[no];
delete obj.no;

위 두 가지 모두 객체의 프로퍼티중에서 no를 제거합니다.


! 객체가 상속받은 경우
만약 해당 객체가 상속받은 경우라면 원래의 객체의 프로퍼티, 메소드는 그대로 존재하게 됩니다. 이를 함께 제거하려면 어떻게 할까요? 만약 객체 B가 A로부터 상속받았다면..

delete Object.getPrototypeOf(B).a

이제 상속한 A의 속성이 삭제됩니다. A가 삭제되면서 상속받은 B의 속성도 삭제되게됩니다.