이챙의 개발 log
javascript 기본형 데이터 , 참조형 데이터 차이점
자바스크립트에서 데이터 종류는 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 | 2 |
각 키의 값 들도 각 방을 줍니다.
데이터니까 값을 할당시켜야겠죠..
120번 방안에 120-1번방,120-2번방,120-3번방 이 있는거죠
결국 이방의 짱은 ... 120번!! 인 obj 겠네요.
이렇게 분리되어있으니
각 값이 저장된 주소값을 따르겠죠
var obj2 = obj;
만약 obj2를 선언후 obj를 할당시키고
obj2.a 를 2로 바꾸면
obj.a는 뭐로 나올까요?
그렇죠 1에서 2로 바뀝니다
서로 참조하고 있으니까요
120-2번방엔 2가 살겠네요..
'javascript' 카테고리의 다른 글
javascript 자바스크립트 reduce() 함수 알아보기 (2) | 2020.12.18 |
---|---|
javascript 호이스팅(hoisting) 이란 (0) | 2020.10.24 |
javascript 객체의 this 넌 무엇이냐,, (0) | 2020.07.13 |
javascript 호출스택 call stack (0) | 2020.04.17 |
javascript 배열에서 중복없이 랜덤으로 값 추출하기 (0) | 2020.04.02 |
이챙(leechaeng)
프론트엔드 개발도 하고 뛰기도 하고