TIL-2022/07/10

🏗️ 엄일경·2022년 7월 10일
0
post-thumbnail

Modern JS Deep Dive 읽기

:: 원시 타입과 객체 타입 비교

::: 원시 타입, primitive type

원시 값은 변경이 불가능한 읽기 전용이다

:::: 문자열의 특수성

  • 문자열은 유사 배열 객체라서 각 문자에 접근할 수 있다
  • 그러나 원시 타입이기 때문에 문자에 접근하여 값을 재할당해도 변경되지 않는다

:::: 값에 의한 전달, call by value

  • 원시 타입 변수를 다른 변수에 대입하면 또다른 메모리 공간에 동일한 값을 저장하여 전달
  • 원시 타입도 사실은 메모리 주소를 전달하는 방식이기 때문이다

::: 객체 타입, object type

객체 값은 변경이 가능하다

  • 객체는 미리 메모리 공간 크기를 정할 수 없어 메모리 주소 참조 값을 활용한다
  • 참조 값이 변하지 않는 한, 객체 내부의 값을 자유롭게 변경 가능하다
  • 여러 식별자가 하나의 객체를 공유할 수 있다

::: 얕은 복사와 깊은 복사

:::: 얕은 복사

  • 객체 타입은 메모리 주소를 참조하기 때문에 같은 참조 값을 가진 식별자가 서로 영향을 받는다

:::: 깊은 복사

  • 참조를 복사하지 않고 별도 메모리 공간에 데이터를 복사하는 것을 의미한다
profile
사랑하는 사람들과 사랑받는 작품을 만들면서 살고 싶은 아저씨입니다.

0개의 댓글