원시 값과 객체

Dorogono·2022년 5월 3일
0

JS 알아보기

목록 보기
8/19
post-thumbnail

원시 값이란.

원시 값은 변경 불가능한 타입을 뜻한다.
한 마디로 읽기 전용이다.

let score; // 주소: 0x0000F2 & 값: undefined

score = 80; // 주소: 0x000F03 & 값: 80

score = 90; // 주소: 0x001332 & 값: 90

주소가 계속 바뀌면서 재할당을 해주는 방식이다.
원본 값 자체는 바뀌지 않는다.
이를 불변성이라는 특징을 가지고 있다고 한다.

원시 값 : 문자열, 숫자, Boolean, null, undefined, Symbol

객체

객체는 참조 타입이며, 변경 가능한 값이다.

let person = { // person 주소: 0x000332 & 값: 0x0000FF
  name: 'Lee'  // { name: 'Lee'} 주소: 0x0000FF
};

person.name = 'Kim'; // person 값에 있는 객체 값 접근

console.log(person.name); // 'Kim'

객체는 값에 의한 전달 vs 참조에 의한 전달에도 썼듯이, 변수명은 객체가 있는 메모리 주소를 가리키고 있을 뿐이다.

쉽게 말해, 참조만 할 뿐이다.

객체는 비용 절약과 성능 향상을 위해 설계되어 있다.
각자 메모리마다 원시 값처럼 객체를 갖고 있다면, 관리가 어렵다.
이유는 크기가 일정하지 않기 때문이다.

profile
3D를 좋아하는 FE 개발자입니다.

2개의 댓글

comment-user-thumbnail
2022년 5월 3일

원시 값의 특성과 객체의 특성을 정리 글 잘봤습니다. 👍

답글 달기
comment-user-thumbnail
2022년 5월 3일

C언어를 배울 때 많이 봤던 값과 주소를 JavaScript로 보니 재밌네요 ㅎㅎ 원시값이 불변하는 속성이 있는데 왜 재할당이 될까? 했는데 주소가 바뀌며 할당이 되는 거였군요 😀 새로운 사실을 하나 알게 되었네요 ㅎㅎ 오늘도 수고하셨습니다~ 🤗

답글 달기