뚜sh뚜sh

[모던 JavaScript] 2.5 자료형 본문

Language/JavaScript

[모던 JavaScript] 2.5 자료형

뚜sh뚜sh 2022. 12. 14. 18:53

숫자형

- 정수 및 부동소수점 숫자를 나타냄

- 일반적인 숫자 외에 Infinity, -Infinity, NaN 같은 특수 숫자 값도 포함됨

- 내부 표현 방식 때문에 자바스크립트에선 (2^53 -1) === (9007199254740991) 보다 큰 값 혹은 -(2^53-1) 보다 작은 정수는 '숫자형'을 사용해 나타낼 수 없음

 

 

 

BigInt

- 표준으로 채택된 지 얼마 안 된 자료형으로, 길이에 상관없이 정수를 나타낼 수 있음

- 값은 정수 리터럴 끝에 n을 붙이면 만들 수 있음

const bigInt = 1234567890123456789012345678901234567890n;

 

 

 

문자형

- 문자열을 따옴표로 묶음

- 따옴표는 세 종류가 있음 (큰따옴표, 작은따옴표, 역 따옴표(백틱))

let name = "John";

// 백틱을 썼을때만 변수를 문자열 중간에 삽입 가능
alert(`Hello, ${name}!`); // Hello, John

 

 

 

불린형

- true와 false 두 가지 값밖에 없는 자료형

 

 

 

'null' 값

- 오로지 null 값만 포함하는 별도의 자료형을 만듦

- 존재하지 않는 값 (nothing), 비어 있는 값 (empty), 알 수 없는 값 (unknown) 을 나타내는 데 사용

 

 

 

'undefined' 값

- null 값처럼 자신만의 자료형을 형성함

- 값이 할당되지 않은 상태를 나타낼 때 사용

 

 

 

객체와 심볼

- 객체형을 제외한 다른 자료형은 한 가지만 표현할 수 있기 때문에 원시 자료형이라 부름

- 객체는 데이터 컬렉션이나 복잡한 개체를 표현할 수 있음

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

 

 

 

typeof 연산자

- 인수의 자료형을 반환함

- typeof 연산자는 두 가지 형태의 문법을 지원함

1. 연산자 : typeof x

2. 함수 : typeof(x)

typeof Math // "object"
// Math는 수학 연산을 제공하는 내장 객체이므로 "object" 출력

typeof null // "object"
// null은 별도의 고유한 자료형을 가지는 특수 값으로 객체가 아니지만,
// 하위 호환성을 유지하기 위해 오류 수정하지 않고 남겨놓은 상황

typeof alert // "function"
// 실제로 "함수형"은 따로 없고, 함수는 객체형에 속함
// 이것도 하위 호환성 유지를 위해 남겨진 상태

 

 

참고

- 자바스크립트는 동적 타입 언어이다

- 동적 타입언어란 자료의 타입은 있지만 변수에 저장되는 값의 타입은 언제든지 바꿀 수 있는 언어이다

- Infinity : 어떤 숫자보다 더 큰 특수 값, 무한대를 나타냄

- NaN : 계산 중에 에러가 발생했다는 것을 나타내주는 값

 

 

 

Comments