본문으로 바로가기

[JavaScript] Object(객체) 원소 삭제하기, key 삭제하기

객체에서 특정 key 삭제하기

프로그래밍을 하다보면, 객체에서 특정 key만 삭제하고 싶은 경우가 있다. 어떻게하면 간단하게 할 수 있을까? 한번 알아보자.

■ delete 명령어

아래 animal 객체가 있고, rabbit을 삭제하는 코드이다.

const animal = {
    rabbit: "토끼",
    lion: "사자",
    tiger: "호랑이"
};
console.log("# rabbit 삭제 전 : ", animal);
  
delete animal.rabbit;
console.log("# rabbit 삭제 후 : ", animal);

위 코드는 delete 명령어를 사용하였다. 결과를 확인해보면 rabbit이 정상적으로 삭제된 것을 확인할 수 있다. 그러나 animal 원본 객체에 변경이 있다. 즉 불변성이 지켜지지 않았다. 불변성을 지키면서 객체의 key를 삭제하고 싶으면 어떻게 할까?

■ spread 문법, ... 사용

아래 코드는 spread 문법 ... 을 사용하여 key를 삭제하는 방법이다.

const animal = {
  rabbit: "토끼",
  lion: "사자",
  tiger: "호랑이"
};
console.log("# rabbit 삭제 전 : ", animal);

const { rabbit, ...otherAnimal } = animal;
console.log("# rabbit 삭제 후 - animal : ", animal);
console.log("# rabbit 삭제 후 - otherAnimal : ", otherAnimal);

위 코드는 spread 문법을 사용하여 원본 데이터의 불변성을 지킬 수 있었다. 사용에 따라 편한 방법을 사용하면 될 것 같다.

마지막

해당 내용은 틀릴 수도 있다는 것을 감안하여 봐주세요. 틀린 내용 및 오탈자 수정 요청 환영입니다.

반응형