티스토리 뷰
1. 원시 타입 (primitive)
원시 자료형이라고도 부른다.
객체가 아니면서 메서드도 가지지 않는 데이터
string, number, bigint, boolean, undefined, symbol, null
null과 undefined를 제외하고
모든 원시 값은 원시 값을 래핑한 객체를 갖는다.
모든 원시 값은 불변해
변형 불가하다.
읽기 전용이다.
새로운 값을 다시 할당할 수 있지만
이미 생성한 원시 값은 변형 불가
1 -1. 원시값이 바뀌지 않는 이유
원본을 건드리지 않고 복사본을 가져와 작업하는 방식을 취해
데이터의 신뢰성을 보장하기 위해서
원시값 자체를 변경할 수 없는 것이고
변수 값은 변경 가능하다.
변수는 언제든지 재할당을 통해 교체할 수 있다.
변수 값을 변경할 때
1. 원시 값을 재할당하면 새로운 메모리 공간이 확보된다.
2. 새로운 메모리 공간에 재할당 값을 저장한다.
3. 변수가 참조하던 메모리 공간의 주소를 변경한다.
2. 객체 타입 (object / reference)
데이터 및 데이터 작업에 대한 지침을 포함하는 데이터 구조
프로퍼티 개수가 정해져있지 않으며
프로퍼티 값에 제약이 없고,
메모리 공간 크기 역시 사전 정의 불가하다.
원시 값에 비해 상대적으로 많은 비용이 든다.
3. 차이
원시 값은 직접적인 변경이 불가하며, 객체는 직접 변경이 가능하다.
원시 값은 변경 불가능한 값으로
재할당 외의 방법이 없다.
재할당을 통해 메모리에 원시값을 새롭게 생성할 수는 있다.
객체는 메모리에
저장된 객체를 직접 수정 가능하며
재할당하지 않았으므로
할당한 변수의 참조 값은 변경되지 않는다.
재할당 없이
프로퍼티 동적 추가, 갱신, 삭제할 수 있다.
'Oops, All Code! > 📝 Study Notes' 카테고리의 다른 글
[JS] 스코프란? (0) | 2023.01.08 |
---|---|
[JS] 값에 의한 전달과 참조에 의한 전달 (0) | 2023.01.07 |
[JS] falsy와 truthy, 둘을 구분하는 법 (0) | 2023.01.05 |
[JS] undefined와 null의 차이와 타입 확인 (0) | 2023.01.04 |
[JS] 데이터 타입 (0) | 2022.12.31 |
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- 비즈플리마켓
- 플리마켓후기
- 프로토타입
- 카페추천
- 프리코스
- 카드뉴스
- 플리마켓운영
- 대학생팝업스토어
- 코딩테스트
- 우아한테크코스
- 대학생플리마켓
- 경험플리마켓
- 프론트엔드
- 일급객체
- javascript
- 회고
- 트러블슈팅
- 어휘력
- 책추천
- typescript
- 타입좁히기
- 소사벌
- 도서추천
- 어른의어휘공부
- 안성스타필드
- 서평
- 도서리뷰
- 소사벌맛집
- react
- js
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
글 보관함