본문 바로가기

Dev/JAVASCRIPT

Javascript JS 객체 메소드(Object methods), 계산된 프로퍼티(Computed property)

계산된 프로퍼티(Computed property)

let a = 'age';
const user = {
  name : 'Mike',
  [a] : 30 // a 변수를 이용
}
console.log(user);

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);

console.log(user); 결과
console.log(newUser); 결과

 

user.age의 값을 변경했지만 newUser.age의 값은 바뀌지 않음. user의 객체 값만 복사해 왔기 때문.

 

 

키 배열 반환(Object.keys(대상 객체))

const user = {
  name : 'Mike',
  age : 30
}
console.log(Object.keys(user));

console.log(Object.keys(user)); 결과

 

값 배열 반환(Object.values(대상 객체))

const user = {
  name : 'Mike',
  age : 30
}
console.log(Object.values(user));

console.log(Object.values(user)); 결과

 

키/값 배열 반환(Object.entries(대상 객체))

const user = {
  name : 'Mike',
  age : 30
}
console.log(Object.entries(user));

console.log(Object.entries(user)); 결과

 

키/값 배열을 객체로(Object.fromEntries(대상 배열))

const arr = [
  ["name", "Mike"],
  ["age", 30],
  ["gender", "male"]
];
console.log(Object.fromEntries(arr));

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