[JS] 원시 타입 자료형

Pavel_Dmr·2022년 6월 16일
0

JavaScript

목록 보기
2/9

원시 타입이란?

JavaScript에서 원시 값(primitive, 또는 원시 자료형)이란
객체가 아니면서 메서드도 가지지 않는 데이터입니다.

모든 원시 값은 불변하여 변형할 수 없습니다.
원시 값 자체와, 원시값을 할당한 변수를 혼동하지 않는 것이 중요합니다.
변수는 새로운 값을 다시 할당할 수 있지만, 이미 생성한 원시 값은 객체, 배열, 함수와는 달리 변형할 수 없습니다.

1. Boolean 타입

논리 요소를 판단하는 자료형
값으로 true 와 false를 가질 수 있습니다.
특정 값이나 행동에 참,거짓을 판단합니다


2. Null 타입

컴퓨터 과학에서 null 값은 일반적으로 존재하지 않거나,
유효하지 않은 객체 또는 주소를 의도적으로 가리키는 참조를 나타냅니다.
null값이 참조되는 의미는 언어의 구현에 따라 다양하다.

null은 원시타입이지만, 모든 객체는 null 값으로 부터 파생된다.
typeof null == 'object" // true
null로 타입 체크을 하면 객체로 확인이 된다.

3. Undefined 타입

특정 변수에 값을 초기화,할당 하지 않은 경우에 undefined가 자동으로 할당됩니다.
초기화 하지않음을 사용자에게 경고합니다.

4. Number 타입

Number는 64Bit 2진 형식의 숫자값입니다. (-(2^53 − 1)부터 2^53 − 1까지의 수)

Number는 기본 숫자값 이외에 수학적 오류가 발생하면, 인자로 나타내는 +Infinity, -Infinity , NaN값이 있습니다.

5. BigInt 타입

BigInt는 Number 타입의 한계 값을 넘어선 숫자도 저장하고 연산가능한 숫자값입니다.

BigInt는 정수 끝에 n을 추가하거나 생성자를 호출해 생성할 수 있습니다.

Number과 혼합해서 연산할 수 없습니다. 연산시, TypeError가 발생합니다.

6. String 타입

JS에서 String 타입은 텍스트 데이터를 나타낼 때 사용합니다.
String은 16비트의 부호 없는 정수 값 "요소"(Element)로 구성된 집합으로
각각의 요소가 Stirng의 한 자리를 차지합니다. 인덱스값으로 구분합니다.

7. Symbol 타입

JS에서 객체 프로퍼티 키로 오직 String이나 Symbol타입만 허용합니다.
심볼(symbol)은 유일한 식별자를 만들고 싶을 때 사용합니다.

// id는 새로운 심볼이 됩니다
let id = Symbol();

심볼을 만들 때 심볼 이름이라 불리는 설명을 붙일 수도 있습니다.
심볼 이름은 디버깅시 유용합니다.

//심볼 id에는 "id"라는 설명이 붙습니다.
let id = Symbol("id");

심볼은 유일성이 보장되는 자료형이기 때문에, 설명이 동일한 심볼을 여러 개 만들어도 각 심볼값은 다릅니다.

let id1 = Symbol("id");
let id2 = Symbol("id");

alert(id1 == id2); // false;

심볼에 붙이는 설명(심볼 이름)은 어떤 것에도 영향을 주지 않는 이름표 역할만 합니다.

주의 참고로 Rudy 등의 언어에서도 '심볼'과 유사한 개념을 사용하는데,
자바스크립트의 심볼은 이들 언어에 쓰이는 심볼과는 다른 개념입니다.

profile
노는게 좋아

0개의 댓글