03.Value Types and Reference Types
a에 50을 부여하고, b에 a를 부여한 후에 a에 다시 10을 부여하면 b의 값은 어떻게 될까.
위와 같이 b는 여전히 50이다.
let b = a;
b에 a를 부여하는 시점에 a가 가지고 있는 값(value)이 복붙되기 때문이다.
그렇다면 Reference에 대해 알아보자.
aaa에 배열을 만들어 "one"과 "two"를 넣고
bbb에 aaa를 부여한 후, aaa에 "three" 값을 push시켜 보았다.
bbb를 출력하면, ["one", "two", "three"]가 출력된다.
bbb에 aaa를 부여하는 시점에 aaa의 값(value)이 복사되었다면 "one"과 "two"만 출렸되었을 것이다.
이러한 경우 값에대한 복사가 아니며
aaa 가 배열을 참조하고 있으며, bbb도 aaa가 참조하고 있는 값을 동일하게 참조하고 있는 것이다.
value는 string, number, boolean, NaN, undefined, null만 가능하고,
Reference는 array, obejct, function에서 사용 될 수 있다.
'Javascript' 카테고리의 다른 글
JavaScript 개발자가 알아야할 33개 컨셉 05.Typeof (0) | 2019.11.25 |
---|---|
JavaScript 개발자가 알아야할 33개 컨셉 04.Type conversion (0) | 2019.11.24 |
JavaScript 개발자가 알아야할 33개 컨셉 02.Primitive Types (0) | 2019.11.24 |
JavaScript 개발자가 알아야할 33개 컨셉 01.Call Stack (0) | 2019.11.24 |
JavaScript 개발자가 알아야할 33개 컨셉 Intro (0) | 2019.11.24 |