계산된 프로퍼티(Computed property)
let a = 'age';
const user = {
name : 'Mike',
[a] : 30 // a 변수를 이용
}
console.log(user);
객체복사(Object.assign(객체초기값 default {}, 복사할 객체 대상))
복사가 아닌 예시
// user 값을 복사하는게 아닌 user의 메모리 주소값을 할당
// user 의 값이 변하면 cloneUser의 값도 변경됨
// user와 cloneUser는 같은 값을 공유
// 복제가 아님
const user = {
name : 'Mike',
age : 30
}
const cloneUser = user;
복사
const user = {
name : 'Mike',
age : 30
}
const newUser = Object.assign({}, user);
// { } <== 빈 객체 + { name : 'Mike', age : 30 }
// 따라서 최종값 { name : 'Mike', age : 30 }
user.age = 40;
console.log(user);
console.log(newUser);
user.age의 값을 변경했지만 newUser.age의 값은 바뀌지 않음. user의 객체 값만 복사해 왔기 때문.
키 배열 반환(Object.keys(대상 객체))
const user = {
name : 'Mike',
age : 30
}
console.log(Object.keys(user));
값 배열 반환(Object.values(대상 객체))
const user = {
name : 'Mike',
age : 30
}
console.log(Object.values(user));
키/값 배열 반환(Object.entries(대상 객체))
const user = {
name : 'Mike',
age : 30
}
console.log(Object.entries(user));
키/값 배열을 객체로(Object.fromEntries(대상 배열))
const arr = [
["name", "Mike"],
["age", 30],
["gender", "male"]
];
console.log(Object.fromEntries(arr));
'Dev > JAVASCRIPT' 카테고리의 다른 글
Javascript JS 숫자, 수학 메소드 (Number, Math) (0) | 2024.01.29 |
---|---|
Javascript JS 심볼(Symbol) (1) | 2024.01.29 |
Javascript JS 생성자 함수(new) (0) | 2024.01.29 |
Javascript JS 배열(array) (0) | 2024.01.29 |
Javascript JS 객체(Object) method (0) | 2024.01.29 |