Object.keys() 메소드는 객체의 속성 이름을 배열로 반환하며 객체의 속성 중에서 열거 가능한(enumerable) 속성만 반환한다.
const person = {
name: 'John',
age: 30,
gender: 'male'
};
이런 객체에서 속성 이름을 배열로 반환하려면 Object.keys() 메소드를 사용한다.
const keys = Object.keys(person);
console.log(keys); // ['name', 'age', 'gender']
Object.values() 메소드는 객체의 속성 값들을 배열로 반환하며 keys()와 마찬가지로 열거 가능한 속성만 반환한다.
const values = Object.values(person);
console.log(values); // ['John', 30, 'male']
Object.entries() 메소드는 객체의 속성 이름과 속성 값의 쌍(Pair)을 2차원 배열로 반환하며 객체의 열거 가능한 속성만 반환한다.
const entries = Object.entries(person);
console.log(entries); // [['name', 'John'], ['age', 30], ['gender', 'male']]
object.assign() 메소드는 하나 이상의 객체를 결합해 새로운 객체를 생성하며 첫 번째 인수로 전달된 객체에 다른 객체의 속성을 추가하거나 업데이트한다.
const person = {
name: 'John',
age: 30
};
const address = {
city: 'New York',
country: 'USA'
};
이 두 객체를 결합해 새로운 객체를 생성하려면 object.assign() 메소드를 사용한다.
const personWithAddress = Object.assign({}, person, address);
console.log(personWithAddress); // {name: 'John', age: 30, city: 'New York', country: 'USA'}
// Object.keys()
const person = {
name: 'John',
age: 30,
gender: 'male'
};
const keys = Object.keys(person);
console.log(keys); // ['name', 'age', 'gender']
// Object.values()
const values = Object.values(person);
console.log(values); // ['John', 30, 'male']
// Object.entries()
const entries = Object.entries(person);
console.log(entries); // [['name', 'John'], ['age', 30], ['gender', 'male
// Object.assign() 은 두 객체를 합침!