티스토리 뷰

프론트엔드 깍두기/JS 조각

DAY10

최삐뚤빼뚤씨 2024. 8. 2. 04:15

1. 비구조화 할당(Destructuring)

- 비구조화 할당은 구조화된 배열 또는 객체를 비구조화(파괴)하여 개별적인 변수에 할당하는 것을 의미한다.

- 배열 또는 객체 리터널에서 필요한 값만 추출하여 변수에 할당하거나 반환할 때 유용하다.

 

2. 복사

1) 얕은 복사(참조형)

1️⃣object가 얕은 복사를 하는 이유

- 자바스크립트에서는 메모리에 할당할 때 어느 정도의 용량을 사용할 지 모르기 때문에 복잡하고, 메모리가 많이 할당되는 소스 코드들을 효율있게 관리하기 위해서 얕은 복사와 깊은 복사로 데이터의 효율량을 줄인다.

 

깊은 복사

- 객체의 깊은 복사는 복사본의 속성이 복사본이 만들어진 원본 객체와 같은 참조(메모리 내의 같은 주소 값을 가리킴)를 공유하지 않는 복사를 의미한다. 따라서 원본이나 복사본을 변경할 때, 다른 객체가 변경되지 않는 것을 보장할 수 있다.

 

2️⃣결론

- Spread Operator 로 복사된 객체(배열)은 1depth까지만 깊은 복사를 실행한다.

만약 정말 완전한 깊은 복사를 구현하려면 재귀적인 함수로 깊은 복사를 구현하거나, lodash 모듈을 사용하거나,

JSON으로 stringfy 시킨 후 다시  parse를 해서 비로소 깊은 복사를 할 수 있다.

 

 

 

 

공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/11   »
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
글 보관함