JavaScript에는 8가지의 자료형이 있다.
number
, bigint
, string
, boolean
, undefined
, null
, symbol
, object
이 중, 원시형에 해당되는 자료형은 object(객체)를 제외한 7가지이다.
number
, bigint
, string
, boolean
, undefined
, null
, symbol
bigint형은 표준으로 채택된 지 얼마되지 않은 자료형이며, 원시형에 속한다.
let hyerin = "cute";
hyerin = 1004;
JavaScript는 문자, 숫자 등과 같이 다양한 타입이 있다.
그럼에도 위의 예와 같이 변수에 저장되는 값의 타입은 언제든지 바뀔 수 있다.
따라서 JavaScript를 동적타입(dynamically typed) 언어라고 부른다.
number
, bigint
, string
, boolean
, undefined
, null
, object
, symbol
-2^53
부터 +2^53
까지Infinity
, -Infinity
, NaN
(Not A Number)과 같은 특수 숫자 값도 포함const bigint = 1234567890123456789012345678901234567890n;
길이에 상관없이 나타낼 수 있는 정수
- number type으로는 나타낼 수 없는 수 없을만큼 아주 크거나 아주 작은 수를 나타낼 수 있음
- 정수 리터럴 끝에
n
을 붙어 만듦- IE에서 지원하지 않음
let str1 = "Hello"; //큰따옴표
let str2 = 'Hi'; //작은따옴표
let str3 = `${str1}, how are you?`; //백틱
문자열
- 큰따옴표, 작은따옴표, 백틱으로 문자열(string)을 묶음
true
와false
두 가지 값만 있는 자료형
let age;
alert(age); // `undefined` 출력
값이 할당되지 않은 상태
- 변수를 선언했지만, 값을 할당하지 않으면 해당 변수에
undefined
가 자동으로 할당됨undefined
를 변수에 직접 할당하는 것은 권장되지 않음. 변수가 비어있거나 알 수 없는 상태임을 나타내고자 한다면null
을 사용할 것.
// age는 age를 알 수 없거나, 값이 비어있음을 보여줌
let age = null;
존재하지 않는(nothing) 값, 비어있는(empty) 값, 알 수 없는(unknown) 값
- 자바스크립트 이외의 언어의
null
과는 다른 성격임
(다른 언어에서null
은 '존재하지 않는 객체에 대한 참조', '널 포인터'를 나타낼 때 사용)
number
, bigint
, string
, boolean
, undefined
, null
, symbol
객체가 아니면서 메서드도 가지지 않는 데이터
원시 자료형
,원시 값
,primitive type
- 원시형은 객체와 달리, 오직 하나의 데이터(문자열, 숫자)만 담을 수 있다.
- 자료형 8가지 중 object(객체)를 뺀 7가지 자료형 모두 원시형이다.
https://ko.javascript.info/types
https://developer.mozilla.org/ko/docs/Glossary/Primitive