*Computed property(계산된 프로퍼티)
let a = 'age';
const user = {
name : 'Gangmi',
[a] : 30 //age: 30 [a] = 변수 a 에 할당된 값 age
}
*식 자체를 넣는 것도 가능
const user = {
[1 + 4] : 5,
["안녕"+"하세요"] : "Hello"
}
*객체 메소드
1)Object.assign(): 객체 복제
const user = {
name : 'Mike',
age : 30
}
const newUser = Object.assign({}, user); {}: 빈 객체= 초기값, 두번째 매개변수부터 들어온 객체들이 초기값에 병합.
{} + {name : 'Mike', age : 30} = {
name : 'Mike',
age : 30,
}
newUser.name = 'Tom';
console.log(user.name); //'Mike'
newUser != user (같은 객체 아님)
Object.assign({name : 'Tom'}, user);
초기값에 같은 키값이 있을 때 기존 값으로 덮어쓰기 됨. → name: 'Mike', age: 30,
두 개 이상의 객체 합칠 수 있음.
const user = {
name : 'Mike'
}
const info1 = {
age : 30,
}
const info2 = {
gender : 'male',
}
Object.assign(user, info1, info2)
2)Object.keys() : 키 배열 반환 → 객체 프로퍼티 키를 배열로 반환
const user = {
name : 'Mike',
age : 30,
gender : 'male',
}
Object.keys(user); //["name", "age", "gender"]
3)Object.values() : 값 배열 반환→ 객체 프로퍼티 값을 배열로 반환
const user = {
name : 'Mike',
age : 30,
gender : 'male',
}
Object.values(user); //["Mike", 30 , "male"]
4)Object.entries() : 키/ 값 모두 배열 반환
const user = {
name : 'Mike',
age : 30,
gender : 'male',
}
Object.entries(user); //[ ["name", "Mike"], ["age", 30], ["gender", "male"] ]
5)Object.fromEntries() : 키/값 배열을 객체로
const arr =
[
["name", "Mike"],
["age", 30],
["gender", "male"]
];
Object.fromEntries(arr);
-------------------------------------------------------------------------------------------------------------
let n = "name";
let a = "age";
const user = {
[n]: "Mike", //[n]=name
[a]: 30, //[a]=age
};
console.log(user);
//어떤게 키가 될지 모르는 객체를 만들 때
function makeObj(key,val){
return{
[key] : val,
};
}
const obj = makeObj("나이", 33);
console.log(obj);
const user = {
name : "Mike",
age : 30,
};
const user2 = Object.assign({},user);
user2.name = "Tom";
console.log(user);
console.log(user2);
const user = {
name : "Mike",
age : 30,
};
const result = Object.keys(user);
console.log(result);
let arr = [
['mon', '월'],
['tue', '화']
]
const result = Object.fromEntries(arr);
console.log(result);
'프로그래밍 > Javascript' 카테고리의 다른 글
자바스크립트 중급 5 -숫자, 수학 method (Number, Math) (0) | 2023.06.12 |
---|---|
자바스크립트 중급 4- 심볼(Symbol) (0) | 2023.06.11 |
자바스크립트 중급 2 - 생성자 함수 (0) | 2023.06.10 |
자바스크립트 중급 1- 변수, 호이스팅, TDZ(Temporal Dead Zone) (0) | 2023.06.10 |
자바스크립트 기초 강좌 14 -배열(Array) (1) | 2023.06.09 |