[TS] 원시타입과 리터럴 타입

TIL

기본 타입 (Basic Types)

타입스크립트에서의 기본 타입이란, 타입스크립트가 자체적으로 제공하는 내장 타입을 말한다.

기본 타입들은 서로 부모 자식 관계를 이루며 계층을 형성한다.

기본 타입은 크게 원시 타입과 리터럴 타입으로 나눌 수 있다.

원시 타입 (Primitive Type)

여러 타입들 중 가장 기본이 되는 타입이다.
배열이나 객체 같이 동시에 여러개의 값들을 저장할 수 있는 비원시 타입과 달리, 원시 타입은 숫자면 숫자, 문자열이면 문자열 이렇게 딱 하나의 값만 저장할 수 있다.

number 타입

자바스크립트에서 숫자를 의미하는 모든 값을 포함하는 타입이다.

단순 정수 뿐만 아니라 소수, 음수, Infinity, NaN 등의 특수한 숫자들도 포함한다.

let num1: number = 123;
let num2: number = -123;
let num3: number = 0.123;
let num4: number = -0.123;
let num5: number = Infinity;
let num6: number = -Infinity;
let num7: number = NaN;

타입 주석 (Type Annotation)
변수의 이름 뒤에 콜론(:)과 함께 변수의 타입을 정의하는 문법

 

string 타입

문자열을 의미하는 타입이다.

단순 쌍따옴표 문자열 뿐만 아니라 작은 따옴표, 백틱, 템플릿 리터럴로 만든 모든 문자열을 포함한다.

let str1: string = "hello";
let str2: string = 'hello';
let str3: string = `hello`;
let str4: string = `hello ${str1}`;

 

boolean 타입

참과 거짓만을 저장하는 타입이다. true 또는 false만 이 타입에 해당된다.

let bool1 : boolean = true;
let bool2 : boolean = false;

 

null 타입

오직 null값만 포함하는 타입이다.

let null1: null = null;
null 값을 다른 타입의 변수에 할당하기
자바스크립트에서는 다음과 같이 아직 값이 정해지지 않은 상태에서는 변수에 null을 임시로 넣어두곤 한다.
let numA = null;​
타입스크립트는 엄격한 검사를 기본값으로 하기 때문에 타입 오류가 발생하는데,
변수의 임시값으로 null을 활용하고 싶을 때에는 tsconfig.json의 strictNullChecks를 false로 설정하면 된다.
{
  "compilerOptions": {
    "strictNullChecks": false,
  },
}​​
strictNullChecks는 strict 옵션의 하위 옵션이기 때문에 strict를 false로 설정해줘도 적용된다.

 

undefined 타입

null 타입과 마찬가지로 오직 하나의 값 undefined만 포함하는 타입이다.

let unde1: undefined = undefined;

 

리터럴 타입 (Literal Types)

string, number 처럼 범용적으로 많은 값을 포함하는 것이 아닌 딱 하나의 값만을 포함하는 타입을 말한다.

하나의 값만 포함하도록 값 자체로 만들어진 타입이다.

let numA:10 = 10;
let strA: "hello" = "hello";
let boolA: true = true;
let boolB: false = false;

 

'TIL' 카테고리의 다른 글

[TS] 객체 타입  (0) 2025.10.28
[TS] 배열과 튜플  (0) 2025.10.28
타입스크립트 컴파일러 옵션 설정  (0) 2025.10.27
타입스크립트 실행 환경 설정  (0) 2025.10.27
Early Return Pattern  (0) 2025.10.27
'TIL' 카테고리의 다른 글
  • [TS] 객체 타입
  • [TS] 배열과 튜플
  • 타입스크립트 컴파일러 옵션 설정
  • 타입스크립트 실행 환경 설정
고견
고견
개발 자국 남기기
  • 고견
    개발자국
    고견
  • 전체
    오늘
    어제
    • 분류 전체보기 (157) N
      • Frontend (29)
        • Next.js (16)
        • JavaScript (7)
      • CS (19) N
        • 자료구조 (9)
        • 알고리즘 (5)
        • 운영체제 (4) N
        • 네트워크 (1) N
      • TIL (93)
      • Dev Log (16)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    javascript
    페이지 라우터
    Trouble Shooting
    generic
    클래스
    memory
    바닐라 자바스크립트
    CS
    C
    배열
    cs50
    문자열
    제네릭
    typescript
    자료구조
    Next.js
    인터페이스
    App Router
    useState
    ai 감성 일기장
    앱 라우터
    Pages Router
    algorithm
    타입 좁히기
    트러블 슈팅
    react
    함수 타입
    emotion diary
    Spa
    알고리즘
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.5
고견
[TS] 원시타입과 리터럴 타입
상단으로

티스토리툴바