[JS] 객체 메소드
2022. 1. 24. 20:10ㆍJavascript/개념
728x90
1. Object.assign : 객체 복제
const user = {
name: 'min',
age: 30
}
const cloneUser = Object.assign({}, user) // { ...user } 같다
cloneUser.name = 'jin'
console.log(user) // { name: 'min', age: 30 }
console.log(cloneUser) // { name: 'jin', age: 30 }
assign({} <= 여기서 빈 객체는 초깃값이다. 두번째 매개변수에서 들어온 객체들이 초깃값에 병합된다.
{ } + { name : 'min', age : 30 }
** assign : (일·책임 등을) 맡기다[배정하다/부과하다], 선임하다.
const user = {
name: 'min',
age: 30
}
const cloneUser = Object.assign({job : 'dev'}, user);
console.log(user) // { name: 'min', age: 30 }
console.log(cloneUser) // { job: 'dev', name: 'min', age: 30 }
직업을 가진 객체와 user가 병합되어 총 3개의 프로퍼티를 가진 객체가 된다.
const user = {
name: 'min',
age: 30
}
const cloneUser = Object.assign({ name: 'jin'}, user);
console.log(user) // { name: 'min', age: 30 }
console.log(cloneUser) // { name: 'jin', age: 30 }
만약 key 가 같다면 덮어씌기가 된다.
2. Object.freeze : 객체가 변하지 않도록
객체
const data = {
a: 123
}
data.a = 456;
console.log(data) // 456 객체 값을 바꿀 수가 있음.
Object.freeze(data); // freeze : 변하지 않도록 immutable 하게 만듬.
data.a = 123; // data를 바꿀려는 시도
console.log(data); // 456 data 안변한다.
배열
let arr = [1, 2];
Object.freeze(arr);
arr[0] = 3;
console.log(Object.isFrozen(arr)); // true
console.log(arr); // [1, 2]
3. Object.isFrozen
freeze()를 사용하여 변경할 수 없는 상태인지 여부를 확인하기 위해서 만들어진 메소드.
isFrozen()은 불리언 값을 반환하며 freeze()된 경우 true를 아닌 경우 false를 반환
4. Object.keys : key 배열 반환
const user = {
name: 'min',
age: 30
}
const key = Object.keys(user);
console.log(user) // { name: 'min', age: 30 }
console.log(key) // [ 'name', 'age' ]
4. Object.values : value 값 배열 반환
const user = {
name: 'min',
age: 30
}
const value = Object.values(user);
console.log(user) // { name: 'min', age: 30 }
console.log(value) // [ 'min', 30 ]
6. Object.entries : key/value 배열 반환
const user = {
name: 'min',
age: 30
}
const arr = Object.entries(user);
console.log(user) // { name: 'min', age: 30 }
console.log(arr) // [ [ 'name', 'min' ], [ 'age', 30 ] ]
2차원 배열 !
** entries : 입수
7. Object.fromEntries : key/value 배열을 객체로
const user = {
name: 'min',
age: 30
}
const arr = Object.entries(user);
const obj = Object.fromEntries(arr);
console.log(user) // { name: 'min', age: 30 }
console.log(arr) // [ [ 'name', 'min' ], [ 'age', 30 ] ]
console.log(obj) // { name: 'min', age: 30 }
'Javascript > 개념' 카테고리의 다른 글
[JS] 전개 연산자 Spread Operator (0) | 2022.01.25 |
---|---|
[JS] Math (0) | 2022.01.24 |
[JS] 데이터 속성 (data-xxx) (0) | 2022.01.10 |
[JS] 동작원리 (Stack, Queue, event loop) (0) | 2022.01.04 |
[JS] fill (0) | 2022.01.03 |