728x90
반응형
Javascript의 자료형은 Primitive Type(원시 타입)과 Reference type(참조 타입) 이 있다.
1. Primitive Type
Primitive type은 6가지 종류가 있다.
Boolean, number, string, null, undefined
이러한 Primitive type은 만약 값을 복사하면, 값 자체를 복사하여 새로운 메모리에 할당해준다.
1
2
3
4
5
6
|
let a = 2;
let b = a;
b = 3;
b // 결과 : 3
|
cs |
2. Reference Type
reference type은 Object로 기본적으로는 3 종류를 의미한다.
아래 3가지는 Javascript에서 만들어놓은 Class 이다.
Array(배열), Object(객체), function(함수)
배열의 값을 복사하는 아래 예시를 보자.
ar2에 ar을 할당(복사)하면, ['one', 'two', 'three'] 라는 배열이 저장된 메모리를 참조 하게 되므로 ar2를 바꿔도 ar도 바뀌게 되는 것이다.
let ar = ['one', 'two', 'three'];
ar2[1] = 2; // ar2의 1번 index값을 2로 변경
console.log( ar ); // ["one", 2, "three"]
|
cs |
3. 추가 예제
위의 예제와 같이, b에 a라는 배열을 할당했지만 4번줄에서 b에 Reference type의 자료형을 할당해준 것이 아니라,
Primitive type의 자료형을 할당해줬으므로, b에는 완전히 다른 메모리 주소의 값이 할당되어 a와 분리되게 된다.
따라서 a의 출력값은 [1, 2, 3]이 된다.
1
2
3
4
5
6
|
let a = [1, 2, 3];
let b = a;
b = undefined;
a // 결과 : [1, 2, 3]
|
cs |
728x90
반응형
'Programming-[Frontend] > Javascript' 카테고리의 다른 글
Javascript / Callback, High Order Function, hoisting (0) | 2020.08.14 |
---|---|
Javascript / DOM / 기초 / createElement, textContent, append, remove, querySelector (0) | 2020.08.11 |
Javascript / 기초 / Testbuilder (Mocha, Chai) (0) | 2020.08.06 |
Javascript / Array / filter, map, reduce (0) | 2020.08.05 |
Javascript / 기초 / 객체지향 (Object-oriented) (0) | 2020.08.05 |