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을 활용한 깊은 복사

반응형