반응형
((name)=>{
console.log(`hello`);
})('이종우');
let은 자꾸 바껴서 자료형도 바뀔 수 있다. 유지보수 면에서 너무 위험하대.
const는 원시타입일경우 바꿀수 없다.
하지만 바꿀수있는 법은
const testObj = {a: 1};
//이건 안댐 (참조 타입)
testObj= {b: 1};
// 이건 댐 (참조 타입)
testObj.a = 2;
Object.keys
Object.entries
Object.values
const b = {...a};
스프레드 다른참조 같은 값. 참조를 복사하지 않고 값만 복사할 수 있다.
const reduce = Object.entries(a);
Object.keys(a);
Object.values(a);
//[ ['a', '123'] , ['b', '456'] ]
console.log(reduce);
오브젝트 리듀스를 가지고 참조복사가 아닌 값복사를 해봐라.
const a = {a: '123', b: '456'};
이거를. 참조가 복사되면 안된다.
const a = {a: '123', b: '456'};
const b = a;
b.a = '111';
a.a = '???';
console.log(a);
console.log(b);
여기서
??? 456
111 456 이 되게.
오브젝트 엔트리스랑 리듀스를 가지고?
const b = a
이건 복사도 아니고 그냥 참조의 할당.
const b = Object.entries(a).reduce((acc,[key, value])=>{acc[key]=value; return acc;},{})
이건 얕은 복사.
const shallowCopy = Object.assign({}, originalObject);
이것도 Object.assign을 이용한 얕은 복사
const shallowCopy = { ...originalObject };
이것도 스프레드 연산자를 사용한 얕은 복사
const deepCopy = JSON.parse(JSON.stringify(originalObject));
이건 Json을 활용한 깊은 복사
반응형
'data lab' 카테고리의 다른 글
promise, async, await 공부하기 (0) | 2024.07.22 |
---|---|
형님의 Js 화살표함수와 구조분해할당, 얕은복사 깊은복사 개인과외 - 3 (0) | 2024.07.16 |
형님의 Js 필수 기본개념, 내장 배열 method 개인과외 - 1 (0) | 2024.07.13 |
백준 2525번 python 파이썬 (1) | 2024.07.10 |
react native - Expo 공부 3 - expo firebase 연동하기 - 실패 (0) | 2024.07.08 |