일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |
- WHATTIMEOFTHEDAY
- 요척합의
- 엑셀자동서식
- 비슬론지퍼
- 엑셀드래그단축키
- 미국영어연음
- 헤이큐
- 지연환가료
- 고급영어단어
- 클린코드
- AATCC
- 암홀트롭
- 나일론지퍼
- MERN스택
- 봉제용어
- 영어시간읽기
- 40HQ컨테이너
- 필터링후복사붙여넣기
- 미니마카
- 엑셀필터복사붙여넣기
- Armhole Drop
- 와끼
- 슈퍼코딩
- 자켓실측
- 비리짐
- 핸드캐리쿠리어차이점
- 웹API
- 40HQ컨테이너40GP컨테이너차이
- 우레탄지퍼
- TACKING
- Today
- Total
CASSIE'S BLOG
[슈퍼코딩] 13강 복습 (얕은 복사, 깊은 복사) 본문
원시타입은 콜 스택에 저장이 된다.
콜스택에 실행컨텍스트가 쌓이는거다.
객체타입은 힙에 저장이 된다.
assign 메소드 vs code에서 손가락 딱 올리면 그 메소드에 대해서 설명해준다.
인자가 2개고 target이고 source인데 2개의 객체를 받아서 합치는거다.
profile2값에 의존하지않는다라는데?
const profile2 = {
address: ‘Seoul’,
family: [‘Tony’, ‘Chris’]
}
const profile2Copy = Object.assign({}, profile);
{} 빈객체랑 profile객체를 붙인다.
profile2.address = ‘Daegu’;
console.log(profile2);
console.log(profile2Copy);
대구가 콘솔에 먼저 출력
서울이 그 다음 콘솔에출력됨
profile2Copy는 profile2 값에 의존하지않고 서울값을 그대로 갖는다.
이런 식으로 객체의 값을 복사할 수 있다. 이걸 얕은 복사라고 함,
배열도 객체다.
profile2Copy.family.push(‘Levin’);
얕은 복사 Object.assign() 메소드를 사용한다.
얕은복사는 객체의 첫 번째 프로퍼티 까지만 복사한다, (very impo, 원시타입일 때 첫 번째 프로퍼티가)
근데 중첩된 객체일 때
배열도 객체잖아 복사하면 메모리 주소가 복사되서 우리가 원하던 대로 복사가 안된다.
깊은 복사
방법은 많음
도구 써야함 lodash
앞으로 많이 쓸 lodash
유틸리티성 모듈,기능을 lodash 라이브러리 통해서 작업하면 쉽게 가능하다.
Lodash관례
_. 이렇게 시작한데
deepclone 할 수 있는 함수가 있데
라이브러리라서 공식 문서 있음
_.clonedeep(value);
'PROGRAMMING > 슈퍼코딩 강의 정리' 카테고리의 다른 글
[슈퍼코딩] 35강 복습 동적인 스타일링 (0) | 2023.10.22 |
---|---|
[슈퍼코딩] 15강 객체리터럴 & Map & Set 정리 (0) | 2023.10.13 |
슈퍼코딩 1주차 교육 비공개 (0) | 2023.06.26 |
[프로젝트정리] wordle (0) | 2023.06.22 |
사전과정 03 파이썬 (0) | 2023.06.20 |