반응형
객체 삭제
객체 프로퍼티 삭제방법
1. delete 연산자
- 가장 기본적인 방법
- 객체에서 해당 프로퍼티 자체를 완전히 제거
- 키 자체가 사라짐
- 성능상 아주 큰 객체를 반복 삭제할 때는 조금 느릴 수 있음
// [문법]
delete 객체명.키명;
delete 객체명["키명"];
const user = { name: "철수", age: 20, city: "서울" };
delete user.age; // 점 표기법
delete user["city"]; // 대괄호 표기법
console.log(user);
// { name: "철수" }
2. null 또는 undefined 할당
- 프로퍼티를 아예 제거하는 대신, 값만 없애는 방식
- 키(name, age)는 여전히 존재
- 데이터만 비워야 할 때 사용
- 프로퍼티는 유지, 값만 비움
// [문법]
객체명.키명 = null;
객체명.키명 = undefined;
const user = { name: "철수", age: 20 };
user.age = null; // 값만 비움
user.name = undefined;
console.log(user);
// { name: undefined, age: null }
3. 구조 분해 할당 + 나머지 연산자(...)
- 삭제 대신, 원본을 건드리지 않고 특정 프로퍼티를 제외한 새 객체를 만드는 방법
- 원본은 그대로 유지
- 불변성(immutability)을 지켜야 하는 상황(리액트 같은 환경)에서 자주 쓰임.
- 원본 유지, 새 객체 생성
// [문법]
const { 삭제할키, ...새객체명 } = 기존객체;
const user = { name: "철수", age: 20, city: "서울" };
const { age, ...newUser } = user;
console.log(newUser);
// { name: "철수", city: "서울" }
// age키는 삭제하고, user 객체 속성을 사용하여 새로운 newUser 객체 생성
4. Object.assign + delete
- 기존 객체를 복사하면서 특정 프로퍼티를 뺄 수도 있음
- 원본 객체 유지, 새 객체 복사 후 삭제
// [문법]
const 새객체 = Object.assign({}, 기존객체);
delete 새객체.삭제할키;
const user = { name: "철수", age: 20, city: "서울" };
const newUser = Object.assign({}, user);
delete newUser.age;
console.log(newUser);
// { name: "철수", city: "서울" }
반응형
'JS > Javascript' 카테고리의 다른 글
[javascript] 객체 5 / 객체 존재 여부 확인, 반복 (in 연산자, hasOwnProperty(), for...in) (0) | 2025.08.21 |
---|---|
[javascript] 객체 3 / 객체 수정, 객체 추가 (0) | 2025.08.21 |
[javascript] 객체 2 / 객체 접근 (0) | 2025.08.20 |
[javascript] 객체 1 / 객체 기본, 특징, 객체 선언, 메서드 정의 (0) | 2025.08.20 |
[javascript] 유사배열 (1) | 2025.08.11 |