TIL # 2021.10.22

kdobro_dev·2021년 10월 22일
0

TIL (Today I Learned)

목록 보기
12/56
post-thumbnail

Javascript # 원시 자료형 , 참조 자료형

📝오늘 배운 내용

오늘은 자바스크립트에서도 원시 자료형과 참조 자료형에 대해 공부했다.

자바스크립트에서 원시 타입의 데이터는 객체가 아니면서 매서드를 가지지 않는 6가지의 타입을 말한다.

  • string, number, bigint, boolean, undefined, symbol, (null)

이 타입들을 왜 원시 자료형이라고 부를까?

원시 자료형은 모두 하나의 정보, 데이터를 담고 있다. 예전에 작성된 코드를 본다면 그 때는 데이터 저장소의
용량이 제한되어 변수 하나에 데이터 용량이 제한된 하나의 원시 자료형 밖에 담을 수 없었기 때문이다. "원시적인" 데이터라고 생각하면 좀 더 쉬울 것 같다.

예를 들어, 우리는 아래와 같이 변수에는 하나의 데이터만 담을 수 있다.

const a = 123;
const b = a;
b = 1234567;

console.log(a) // 123
console.log(b) // 1234567
console.log(a === b) // true
console.log(a) // 123

원시 자료형은 변수 a에 값이 할당될 때, 그 값이 변수에 그대로 담기기 때문에 변수 b에 변수a를 할당하게 되면 b라는 변수에도 a의 값이 할당되게 된다. 하지만 변수 b에 다른 값을 재할당 한다 해도 변수a에 값은 영향을 받지 않는다.

그렇다면 참조 자료형에 대해 알아보자.

참조 자료형에는 대표적으로 배열과 객체, 함수가 있다.
원시 자료형과는 다르게 참조 자료형은 그 값을 그래도 할당하지 않고 데이터의 주소값이 할당된다고 생각하면 되겠다.

예를 들어

const a = [3,4];
const b = a;
a[0] = 5;
console.log(b) // [5,4]

변수 a에 배열 객체를 할당하여 참조 타입 변수로 만들어준 후 변수 b에 a를 참조시킨 후, a의 내부값을 변경하면 a를 참조한 b 또한 a에서 변경된 값을 가지게 된다.

profile
do your best at any moment

0개의 댓글