Object.keys(obj)
는 객체의키
만 담은 배열을 반환합니다
const user = {
nickname : 'rockbell89',
age : 34,
hobbies : ['music', 'movies']
}
Object.keys(user); // ['nickname', 'age', 'hobbies'];
Object.values(obj)
는 객체의값
을 담은 배열을 반환합니다
Object.values(user); // ['rockbell89', 34, ['music', 'movies']]
Object.entries(obj)
는 객체의[키,값]
을 쌍으로 담은 배열을 반환합니다
Object.entries(user); [['nickname', 'rockbell89'], ['age', 34], ['hobbies', ['music', 'movies']]]
for(let [key, value] of Object.entries(user)) {
console.log(`${key} : ${value}`);
}
nickname : rockbell89
age : 34
hobbies : music,movies
Object.fromEntries(arr)
는[키,값]
으로 이루어진 배열을 객체로 다시 반환합니다
const newUser = Object.fromEntries(
Object.entries(user).map(([key, value]) => [key, value + '~'])
)
console.log(newUser);
{
nickname: 'rockbell89~',
age: '34~',
hobbies: 'music,movies~'
}
Object.assign(target, ...source)
는target
객체에 열거가능한 속성(sorcue)를 복사하여 반환합니다 (target 객체 변경) - mutable methods
동일한 키를 가진경우, 덮어쓰기를 합니다
const target = { 'a' : 1, 'b' : 2};
const source = { 'c' : 3, 'd : 4};
Object.assign(target, source); // {'a' : 1, 'b' : 2, 'c' : 3, 'd : 4}
console.log(target); // 'a' : 1, 'b' : 2, 'c' : 3, 'd : 4}