티스토리 뷰

자바스크립트 심화 유튜브 강의 (최원장 튜터님)

데이터 타입

  • 기본형(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;
}

 

댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
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
글 보관함