data lab
형님의 js 필수 전수업review 과외 2
LAB 관리자
2024. 7. 15. 20:10
반응형
((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을 활용한 깊은 복사
반응형