javascript 기본형 데이터 , 참조형 데이터 차이점

javascript
블로그 이미지

이챙(leechaeng)

﹒2020. 10. 13.

자바스크립트에서 데이터 종류는 2가지로 나눕니다.

 

기본형(원시형) primitive type : null,undefined, string, boolean , number

참조형 reference type : object(array,function,regExp)

 

 

기본형

 

var a ;


변수를 선언하면 컴퓨터는 변수 a 의 메모리주소값을 확보합니다.

마치 방을 주는 것처럼요

주소값을 방으로 비유하겠슴다

 

컴퓨터 : 엇 변수 a .. 너는 10000번 방을 줄게

a에게 10000방을 줬으니

a는 주소값이 10000입니다.

 

a = 3;

변수 a 에게 값을 할당하면?

a가 10000번방에 있으니

10000번방을 찾아가서 3을 할당하죠

 

이렇게 기본형 데이터는 값을 그대로 할당시킵니다.

직진!

 

 

참조형

 

참조형데이터는 객체에서 이루어지는데요.

 

  var obj = {     a = 1,     b = 2 }  

 

obj 를 선언했으니 컴퓨터가 또 방을 주겠죠

컴퓨터 : 어왔어? obj 넌 120번 방 줄게.

 

자 컴퓨터가 obj에게 120번 방을 주었네요

그럼 obj 의 주소값은 120이겠죠

 

근데 객체죠? 참조형 데이터는 객체입니다.

key와 value로 이루어져 있어요.

기본형이 아니랍니다.

 

컴퓨터가 참조형들에겐 이것저것 포함된 애들이 많으니 큰방을 줍니다.

친절한 컴퓨터..^ ㄴ ^

 

그리고 그 큰방에서

키와 값으로 이루어진 애들에게 방을 나눠줍니다.

 

 120-1번방  120-2번방  120-3번방
a=120-1,
b=120-2
 1

 

 

각 키의 값 들도 각 방을 줍니다.

데이터니까 값을 할당시켜야겠죠..

 

120번 방안에 120-1번방,120-2번방,120-3번방 이 있는거죠

결국 이방의 짱은 ... 120번!! 인 obj 겠네요.

 

이렇게 분리되어있으니

각 값이 저장된 주소값을 따르겠죠

 

 

var obj2 = obj;

만약 obj2를 선언후 obj를 할당시키고

obj2.a 를 2로 바꾸면

 

obj.a는 뭐로 나올까요?

그렇죠 1에서 2로 바뀝니다

서로 참조하고 있으니까요

 

 120-2번방엔 2가 살겠네요..

 

이챙(leechaeng)
이챙(leechaeng)

프론트엔드 개발도 하고 뛰기도 하고

'javascript' 카테고리의 관련 글