객체 메서드 심화
자바스크립트 객체는 데이터를 효과적으로 구조화하고 관리할 수 있게 해주는 중요한 자료형(data type)입니다.
이번에는 객체의 키, 값, 속성을 다루는 기본 메서드들을 알아보겠습니다.
Object.keys(obj)
이 메서드는 객체의 모든 키를 배열로 반환합니다.
person 객체의 키를 배열로 반환
const person = {
name: '지민',
age: 28,
city: '서울',
};
const keys = Object.keys(person);
console.log(keys); // ["name", "age", "city"]
Object.values(obj)
객체의 모든 값을 배열로 반환합니다.
person 객체의 값들을 배열로 반환
const person = {
name: '지민',
age: 28,
city: '서울',
};
const values = Object.values(person);
console.log(values); // ["지민", 28, "서울"]
Object.entries(obj)
객체의 모든 키-값 쌍을 2차원 배열로 반환합니다.
person 객체의 키-값 쌍을 2차원 배열로 반환
const person = {
name: '지민',
age: 28,
city: '서울',
};
const entries = Object.entries(person);
console.log(entries);
// [["name", "지민"], ["age", 28], ["city", "서울"]]
사용 예시: 객체 순회하기
객체의 각 속성을 순회하면서 작업을 수행하고 싶을 때, Object.keys
나 Object.entries
를 활용하면 유용합니다.
예시: 객체의 모든 값을 출력하기
객체의 모든 값 출력하기
const person = {
name: '지민',
age: 28,
city: '서울',
};
for (let key of Object.keys(person)) {
console.log(person[key]);
}
// 또는
for (let [key, value] of Object.entries(person)) {
console.log(value);
}
기타 객체 관련 메서드
-
Object.assign(target, ...sources)
: 하나 이상의 출처 객체로부터 모든 열거 가능한 속성을 대상 객체로 복사합니다. 대상 객체를 반환합니다.객체 병합하기let obj1 = { a: 1, b: 2 };
let obj2 = { b: 3, c: 4 };
let combined = Object.assign({}, obj1, obj2);
console.log(combined); // { a: 1, b: 3, c: 4 } -
Object.freeze(obj)
: 객체를 동결하여 속성들이 추가, 제거, 수정될 수 없게 만듭니다.객체 동결하기Object.freeze(person);
person.major = 'Software'; // 에러! 동결된 객체에는 속성을 추가할 수 없습니다