본문 바로가기

Front-end/JavaScript

[JavaScript] 자바스크립트 기본 - 자료형

 

자료형

자바스크립트는 8가지 기본 자료형을 갖음

 

특징

  • 동적타입(dynamically typed)언어
  • 자료의 타입은 있지만 변수에 저장되는 값의 타입은 언제든지 바뀔 수 있음
  • 자바스크립트의 변수는 자료형에 관계없이 모든 데이터일 수 있으며, 변수가 문자열일 수 있고 숫자가 될 수 도 있음
  • let message = "hello"; message = 12345;

 

 

 

1. 숫자형(number type)

정수 및 부동 소수점 숫자(floating point number)를 나타냄

 

숫자형의 종류

1) 일반적인 숫자

 

2) 특수 숫자값(special numeric value)

  • Infinity, -Infinity

어떤 숫자보다 더 큰 특수 값, 무한대(♾️)를 나타냄

 

  • NaN

계산 중 에러 발생을 나타내주는 값

부정확하거나 정의되지 않은 수학 연산을 사용하면 계산 중에 에러가 발생하고 NaN이 반환됨

 

2. BigInt

길이의 제약 없이 정수를 다룰 수 있게 해주는 숫자형 -> 아주 큰 숫자를 사용해야하는 경우 사용

정수 리터럴 끝에 n을 붙이거나 BigInt를 호출하면 문자열이나 숫자를 가지고 BigInt 타입의 값을 만들 수 있음

// 끝에 'n'이 붙으면 BigInt형 자료
const bigint = 1234567890123456789012345678901234567890n;

const sameBigint = BigInt("1234567890123456789012345678901234567890");

const bigintFromNumber = BigInt(10); // 10n과 동일합니다.

 

3. 문자형

문자열(string)을 큰따옴표("")나 작은따옴표('')로 묶어서 표현

let str = "sky";
let str2 = 'kim';

 

4. 논리형(boolean)

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

 

5. null

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

존재하지 않는(nothing) 값, 비어있는(empty) 값, 알 수 없는(unknown) 값을 나타냄

let age = null; // age를 알 수 없거나, 그 값이 비어있음

 

6. undefined

변수는 선언했지만 값이 할당되지 않은 상태라면 undefined가 자동 할당됨

let age;
alert(age); // undefined 출력

 

7. 객체(object)와 심볼(symbol)

객체(object)형: 객체는 원시(primitive) 자료형과 다르게 데이터 컬렉션이나 복잡한 개체(entity)를 표현할 수 있음

심볼(symbol)형: 객체의 고유한 식별자(unique identifier)를 만들 때 사용 

 

8. typeof연산자

인수의 자료형 반환

자료형에 따라 처리 방식을 다르게 하거나, 변수의 자료형을 알아낼 때 유용

두 가지 형태의 문법을 지원함(괄호가 있어도되고 없어도 됨)

// 연산자
typeof x
// 함수
typeof(x)