본문 바로가기
관리자

Programming-[Frontend]/Javascript

Javascript / 기초 / 자료형(Primitive type, Reference type)

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;
 
= 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'];
let ar2 = ar; // ar2에 ar를 할당

 

ar2[1= 2//  ar2의 1번 index값을 2로 변경

 

console.log( ar ); // ["one", 2, "three"]


//ar의 요소는 변경한적 없는데, ar의 요소도 변경됨

cs

 

 

3. 추가 예제

 

위의 예제와 같이, b에 a라는 배열을 할당했지만 4번줄에서 b에 Reference type의 자료형을 할당해준 것이 아니라, 

Primitive type의 자료형을 할당해줬으므로, b에는 완전히 다른 메모리 주소의 값이 할당되어 a와 분리되게 된다.

따라서 a의 출력값은 [1, 2, 3]이 된다.

1
2
3
4
5
6
let a = [123];
let b = a;
 
= undefined;
 
a  // 결과 : [1, 2, 3]
cs

 

 

728x90
반응형