javascript/javascript 기본지식
객체 메소드, 계산된 프로퍼티
honey.kikiki
2021. 7. 12. 12:58
728x90
객체 메소드(Object Methods)
Object.assign() : 객체 복제
Object.keys()
Object.values()
Object.entries()
Object.fromEntries()
Object.assign() : 객체 복제
const user = {
name: "Mike",
age: 30,
};
const cloneUser = user; // 참조값만 저장
const cloneUser = Object.assign({}, user);
// 객체복사;
// user의 값을 앞에 빈 객체에 저장한다.
const cloneUser = Object.assign({ gender: "male" }, user);
const cloneUser = {
name: "Mike",
age: 30,
gender: "male",
};
const cloneUser = Object.assign({ name: "Tom" }, user);
const cloneUser = {
// name : 'Mike',
// 덮어쓰게 된다
name: "Tom",
age: 30,
};
const user = {
name: "Mike",
};
const info1 = {
age: 30,
};
const info2 = {
gender: "male",
};
Object.assign(user, info1, info2);
Object.keys() : 키 배열 반환
const user = {
name: "Mike",
age: 30,
gender: "male",
};
Object.keys(user); // ["name","age","gender"]
Object.values() : 값 배열 반환
const user = {
name: "Mike",
age: 30,
gender: "male",
};
Object.values(user); // ["Mike","30","male"]
Object.entries() 키 / 값 배열 반환
const user = {
name: "Mike",
age: 30,
gender: "male",
};
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',
// }
계산된 프로퍼티(Computed property)
let a = "age";
// 위에 a 변수가 밑에 객체에 할당된다
const user = {
name: "Mike",
[a]: 30, //age : 30
};
const user =
{
[1 + 4]: 5,
["안녕" + "하세요"]: "Hello",
} >
user <
{
5: 5,
안녕하세요: "Hello",
};
어떤값이 키가 될지 모를떄 사용
function makeObj(key, val) {
return {
[key]: val,
};
}
const obj = makeObj("나이", 33);
console.log(obj); // {나이 : 33}
const obj = makeObj("성별", "male");
console.log(obj); // {성별 : "male"}