-
원시자료형과 참조자료형블로깅 과제 2022. 11. 7. 13:03
1. 원시자료형
원시자료형은 객체를 제외한 js의 언어 타입이며 7가지의 타입이 있다.
1) String(문자열)
- 텍스트 데이터를 나타낼때 쓰인다.
2) Number(숫자형)
- 기본적인 숫자를 나타낼때 쓰인다.
3) BigInt(숫자형)
- Number의 안전 한계를 넘어서는 큰 정수를 안전하게 저장하고 연산할때 쓰인다.
4) Boolean(불리언)
- 논리 요소를 나타내며 참과 거짓을 나타낼때 쓰인다.
5) Null(널)
- 의도적으로 할당된 값을 빈 값으로 만들고 싶을때 쓰인다.
6) Undefined
- 값을 할당하지 않은 변수는 undefined의 값을 가진다.
7) Symbol
- 고유하고 변하지 않는 값을 말한다.
원시자료형은 데이터를 저장하는 데이터 박스에 하나의 데이터만 담긴다. 이유는 과거 데이터의 저장공간이 넓지 않았을때 저장공간이 적었기 때문에 하나의 데이터만 담을 수 있었다.
원시자료형은 값을 저장하고 복사할때 값 자체를 복사하기 때문에 원본과 복사한 값을 비교하면 같다.
let a = 'example'; // 하나의 값만 저장가능 let b = a; // b에 a를 할당하면 a의 값이 할당 console.log(b); // output : 'example' b = 370; console.log(b); // b에 370을 재할당 했으므로 370이 참조 console.log(a); // 3번째 줄에서 b에 a를 할당했을때 a의 값이 할당되었기 때문에 a의 값은 그대로2. 참조자료형
참조자료형은 원시자료형과는 다르게 값을 저장하는 것이 아닌 값이 있는 주소, 참조 값을 저장하기 때문에 참조자료형이라 불린다. function, array, object가 여기에 속한다.
참조자료형은 원시자료형과 다르게 여러 개의 데이터가 담기는데 데이터의 보관함마다 값을 저장하게 되면 컴퓨터가 일도 많이 해야되고 처리 속도도 늦어질수 있기때문에 heap이라는 곳에 따로 값을 보관하고 데이터 보관함에는 값이 있는 heap의 주소 값을 저장한다. heap의 크기는 데이터의 양에 따라서 동적으로 변한다.
두 참조자료형을 비교할때 값이 모두 같더라도 값을 저장하는 것이 아닌 주소를 저장하기 때문에 둘은 다르다.
let arr1 = [0, 1, 2, 3]; let arr2 = [0, 1, 2, 3]; console.log(arr1===arr2); //output : false;'블로깅 과제' 카테고리의 다른 글
프로토 타입(object prototype) (0) 2022.11.18 객체 지향 프로그래밍 (0) 2022.11.18 클래스(class)와 인스턴스 객체(instance object) (0) 2022.11.18 이제까지 배운것 복습! (JavaScript Koans) (1) 2022.11.09 Unit2 - Chapter2. 타입 (typeof 사용하기) (0) 2022.10.21