Javascript의 자료형

동적 타이핑 언어

자바스크립트는 동적 타이핑 언어로, 자료형이 있지만 프로그래머가 자료형을 지정하지 않아도 되는 언어이다.

변수에 저장되는 값의 타입은 초기화 이후에도 언제든지 바뀔 수 있다.

 

숫자형 (Number)

정수, 부동소수점 숫자, 특수 숫자값이 해당된다.

- 지수 표현: 2.5e5 === 2.5 * 10^5

- 특수 숫자값 (special numeric value): Infinity, -Infinity, NaN

- Infinity: 어떠한 숫자보다 더 큰 값, 무한대 / 어떤 숫자든 0으로 나누면 무한대

- NaN: 부정확하거나 정의되지 않은 수학 연산을 사용하여 에러가 발생했을 때 반환되는 값

 

BigInt

2^53 - 1보다 큰 값 혹은 -(2^53 -1)보다 작은 정수는 숫자형을 통해 나타낼 수 없다.

따라서 길이 제약에 상관없이 정수를 나타내야 할 때 정수 리터럴 끝에 n을 붙여 BigInt 형으로 사용한다.

const bigInt = 123456789012345678912334556780n;

 

문자형

“” 혹은 ‘’로 감싸 표현한다.

``로 감싼 후 ${}를 사용하면 변수나 표현식을 문자열 중간에 사용할 수 있다!

let name = "minyeong";
console.log(`My name is ${name}`);  // My name is minyeong 출력
console.log(`3 + 5 = ${3 + 5}`);  // 3 + 5 = 8 출력

 

 

Boolean

- true, false

 

null

존재하지 않는 값, 비어있는 값, 알 수 없는 값을 나타낼 때 사용한다.

 

undefined

값이 할당되지 않은 상태, 초기화되지 않은 상태를 의미한다.

let name;
console.log(name);  // undefined

변수에 직접 undefined를 할당할 수도 있지만, 비어있거나 알수없음을 나타내고 싶은 경우 null을 사용하는 것을 권장한다.

 

객체와 심볼

- 객체: 한가지 이상의 복잡한 데이터 구조를 표현하기 위해 사용

- 심볼: 객체의 고유한 식별자를 만들 때 사용