티스토리 뷰
자바스크립트 심화 유튜브 강의 (최원장 튜터님)
데이터 타입
- 기본형(Primitive type):
- 복제 방식: 값이 담긴 주소값을 복제
- 불변성
- Number, String, Boolean, null, undefined, Symbol
- 참조형(Reference type):
- 복제 방식: 값이 담긴 주소값들로 이루어진 묶음을 가리키는 주소값을 복제 → 얉은 복사, 깊은 복사 유의
- 가변성
- Array, Function, Date, RegExp, Map, Set
* 변수/상수를 나누는 기준: 변수영역이 바뀔 수 있는지
* 불변성/가변성을 나누는 기준: 데이터 영역이 바뀔 수 있는지
불변객체
참조형 데이터 타입의 경우 기본적으로 가변성을 가지기 때문에 복제 시 문제가 발생 → 이를 해결하기 위해 불변성을 가지게 한 객체
- 얉은 복사: 바로 아래 단계의 값만 복사 → 중첩된 객체에서 참조형 데이터가 저장된 프로퍼티를 복사할 때 주소값만 복사 됨
- 깊은 복사: 내부의 모든 값들을 하나하나 다 찾아서 모두 복사
ex) 재귀함수를 이용한 깊은 복사
let copyObjectDeep = function(target) {
let result = {};
if (typeof target === 'object' && target !== null) {
for (let prop in target) {
result[prop] = copyObjectDeep(target[prop]);
}
} else {
result = target;
]
return result;
}
'What I Learned > SpartaCodingClub' 카테고리의 다른 글
[내일배움캠프] 2022.12.12. ~ 2022.12.18. WIL (0) | 2022.12.19 |
---|---|
[내일배움캠프] 2022-12-16 TIL (0) | 2022.12.16 |
[내일배움캠프] 2022-12-14 TIL (0) | 2022.12.14 |
[내일배움캠프] 2022-12-13 TIL (0) | 2022.12.13 |
[내일배움캠프] 2022-12-12 TIL (0) | 2022.12.12 |
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- Programmers
- 20920
- 24723
- 벡준
- Python
- 5597
- til
- 25192
- 2903
- programmer
- 24313
- 24060
- 4134
- 항해+
- 1269
- 25501
- 2053
- 10807
- 17103
- SQL
- MySQL
- 백준
- 항해 플러스
- Wil
- 2738
- 26069
- 13241
- 2587
- 13909
- 코육대
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
글 보관함