[JS #2] 독학중 값(type)

제로베이스 JavaScript 완전 정복

값의 종류(타입)

자바스크립트에서 값의 종류는 아래와 같다

BigInt

원시값이 가장 안정적으로 나타낼수 있는 최대치를 넘는 큰 정수를 표현하는 내장 객체

최대치 정수 구하기

Number.MAX_SAFE_INTEGER; // 9007199254740991

9007199254740991를 넘는 정수 범위는 BigInt 타입이라고 하는 것 같다.

그런데 그럼 가장 작은 정수 범위는 마이너스(-)만 붙이면 되는건가?

Number.MIN_SAFE_INTEGER; // -9007199254740991

오 그냥 쳐봤는데 나온다.

즉, BigInt는 -9007199254740991 보다 작고 9007199254740991 보다 큰 정수형을 표현 할 수 있는 타입

이렇게 일단 이해를 해두면 될 것 같다.

NULL(널)

typeof 연산자를 사용하면 어떤 자료형인지 아래와 같이 알 수가 있다.

typeof undefined; // undefined
typeof true; // boolean
typeof "string"; // string
typeof 123; //number
typeof 9007199254740992n; //bigint
typeof Symbol(); //symbol
typeof null;

그런데 널(NULL)의 경우에는..

typeof null; //object

object라고 나온다. number 또는 0 이렇게 나오면 오히려 수긍을 하겠는데 객체라고 나온다. 이는 자바스크립트 태생적으로 이렇게 만들어졌고 오류(?)라고 봐야 하는지 모르겠지만, 이대로 유지하기로 했다고 하니 그냥 관습적으로 알고 있어야 할 내용 같다.