본문 바로가기

Web/JavaScript

[JS] 객체 메소드, 컴퓨티드 프로퍼티

728x90

Computed property

 

let a = 'age';

const user = {
    name: 'Mike',
    age: 30
}

const user = {
    name: 'Mike',
    [a]: 30 //이런식으로 묶어줄 시 변수 a에 할당된 값이 들어감
}

const user = {
    [1 + 4] : 5,
    ["안녕" + "하세요"] : "Hello"
}
// 이런식으로 식 자체를 넣는 것도 가능함


Methods

Object.assign(): 객체 복제

const user = {
    name: 'Mike',
    age: 30
}


이런 객체가 있을 때
const cloneUser = user; 작성 시 객체가 복제 될까? 정답은 X
user변수에는 객체 자체가 들어가있는게 아니라 객체에 대한 참조값이 저장되어 있음

동일하게 복제하려면

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


이런식으로 작성

Object.assign({gender:'male'}, user); 작성 시 

const user = {
    gender: 'male',
    name: 'Mike',
    age: 30
}


로 생성

두 개 이상의 객체도 복제 가능

const user = {
    name: 'Mike'
}
const info1 = {
    age = 30,
}
const info2 = {
    gender: 'male',
}
Object.assign(user, info1, info2)



Object.keys(): 키 배열 반환

const user = {
    gender: 'male',
    name: 'Mike',
    age: 30
}
Object.keys(user);
//["name", "age", "gender"]


Object.values(): 값 배열 반환

const user = {
    gender: 'male',
    name: 'Mike',
    age: 30
}
Object.values(user);
//["Mike", 30, "male"]



Object.entries(): 키/값 배열 반환

const user = {
    gender: 'male',
    name: 'Mike',
    age: 30
}
Object.entries(user);
//[ ["name", "Mike"], ["age", 30], ["gender", "male"] ]



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

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

// { name: 'Mike', age: 30, gender: 'male', }

 

728x90

'Web > JavaScript' 카테고리의 다른 글

[JS] 수학, 숫자 메소드  (0) 2024.02.06
[JS] 심볼  (0) 2024.02.06
[JS] 생성자 함수  (0) 2024.02.06
[JS] 변수 심화  (1) 2024.02.06
[JS] 배열  (0) 2024.02.05