Object method / Computed Property

OwlSuri·2022년 7월 4일
0

JavaScript

목록 보기
2/9

Computed Property

let a = 'age';
const user = {
  name : "Suri",
  [a] : 4   // [a]라고 쓰면 a에 할당된 age가 들어감
}

const user2 = {
  [1+4] : 5
  ["안녕"+"하세요"] : "Hello"
}

user2
{5:5, 안녕하세요:"Hello"}  // 식을 넣는 것도 가능

Object method

Object.assign : 객체 복사

객체를
const cloneUser = user
라고 복사했을때, cloneUser의 값을 변경하면 원본의 값도 바뀐다. 복사맞아??

const newUser = Object.assign({}, user) 

이렇게 복사하면 빈객체가 user를 병합하므로, 새로운 객체가 되어 값을 변경해도 원본이 유지된다.

const newUser = Object.assign({ gender:'male' }, user)

라고 복사하면 성별값이 있는 객체에 user가 복사된다. 3개의 프로퍼티를 가진 객체가 생긴다.

const user = {
  name:"Suri"
}
const info1 = {
  age:4
}
const info2 = {
  gender:'female'
}

Object.assign(user, info1, info2)  // 맨 앞의 user중심으로 하나의 객체로 합쳐진다.

Object.keys() : 키 배열로 반환

const user = {
  name:'Suri',
  age:4,
  gender:'female'
}
Object.key(user) // [name, age, gender]
Object.values(user) // ['Suri', 4, 'female']
Object.entries(user) // ["name", "Suri"], ["age",4], ["gender","female"]

Object.fromEntries() : 키/값을 객체로 반환

const arr = 
      [
        ["name", "Suri"], 
        ["age",4], 
        ["gender","female"]
      ]
Object.fromEntries(arr) // { name:'Suri', age:4, gender:'female'} 배열을 객체로 반환

응용 : 어떤 key값을 사용할지 확실하지 않을때 사용

function makeObj(key, val){
  return{
    [key]:val,
  }
}

const obj = makeObj("나이", 33)  // {나이 : 33} 




++ 얕은복사 깊은복사와 스프레드 연산자를 배웠었는데 그것과 연관지어 생각하면 좋을 듯!

profile
기억이 안되면, 기록을 -

0개의 댓글