[TypeScript] 추가 타입

2022. 4. 21. 12:08·TypeScript/기초
반응형

1. Union Type 

특정 변수에 string또는 number 와 같이 변수 하나에 타입을 두개 주고 싶은 경우에 사용하는 타입이다. 

let 이름: string | number = "seo";

Union Type으로 string과 number를 지정한 경우 변수에는 string 또는 number만 들어올 수 있다. 

그리고 값을 할당하는 순간 타입은 string 또는 number로 변하게 된다. 

 

array, object 자료를 만들 때 Union Type을 쓰려면 어떻게 할까? 

let arrayType: (number | string)[] = [1,"2",3]
let objectType: {data : number | string} = {data : "123"}

배열을 사용할 때는 ()를 사용해서 타입을 묶어주면 된다. 

 

2. Any Type

어떤 유형의 타입도 집어넣을 수 있는 타입이다.

let 이름: any = 'seo';
이름 = 123;
이름 = undefined;
이름 = [];

Any Type은 마구 난발해버리면 타입 관련 버그가 생길 경우 추적이 어렵기 때문에 비상시에만 사용하고 

자주 사용하진 않는다.

 

3. unknown Type

any와 같이 모든 타입을 집어넣을 수 있다. 

어떤 타입이 들어올지 모를 경우, 다양한 타입을 집어넣어야할 경우에 사용하는 타입이다.

let 이름: unknown = 'kim';
이름 = 123;
이름 = undefined;
이름 = [];

 

중요한 특징으로

1. unknown 타입엔 모든 자료를 다 집어넣을 수 있다. 

2. 자료를 집어넣어도 타입은 그대로 unknown 이다. 

반응형
저작자표시 비영리 변경금지 (새창열림)

'TypeScript > 기초' 카테고리의 다른 글

[TypeScript] 타입 확정하기  (1) 2022.05.09
[TypeScript] 함수에 타입 지정하기  (1) 2022.05.08
[TypeScript] 기본 타입 정리  (0) 2022.04.16
[TypeScript] 컴파일 시 세부 설정  (0) 2022.04.15
[TypeScript] React에서 TypeScript 사용하기  (0) 2022.04.13
'TypeScript/기초' 카테고리의 다른 글
  • [TypeScript] 타입 확정하기
  • [TypeScript] 함수에 타입 지정하기
  • [TypeScript] 기본 타입 정리
  • [TypeScript] 컴파일 시 세부 설정
잉여개발자
잉여개발자
풀스택 개발자를 목표로 잉여롭게 개발 공부도 하면서 다양한 취미 생활도 즐기고 있는 잉여 개발자입니다.
  • 잉여개발자
    잉여로운 개발일지
    잉여개발자
    • 분류 전체보기 (789)
      • 개발정보 (36)
      • 개발환경 (7)
      • 개발생활 (19)
      • React (141)
        • 이론 (23)
        • 기능 (12)
        • 실험실 (88)
        • 버그 (6)
        • 패스트캠퍼스 (9)
        • Npm (3)
      • React Native (28)
        • 공통 (6)
        • TypeScript (3)
        • JavaScript (18)
        • 버그 (1)
      • Next.js (30)
        • 이론 (13)
        • 실험실 (13)
        • 버그 (3)
      • Web (35)
      • 알고리즘 (202)
        • 풀이 힌트 (39)
      • JavaScript (47)
      • TypeScript (29)
        • 기초 (27)
        • 실험실 (2)
      • Node.js (13)
        • 이론 (0)
        • 기능 (3)
        • 실험실 (9)
        • 버그 (1)
      • 도커 (4)
      • CCNA (22)
        • 이론 (4)
        • 문제 (18)
      • 취미생활 (167)
        • 잉여로운 칵테일 (2)
        • 잉여의 식물키우기 (130)
        • 잉여로운 여행기 (11)
        • 잉여의 제2외국어 (21)
        • 잉여로운 책장 (2)
      • Java (1)
        • Java의 정석 (1)
      • 꿀팁 공유 (3)
  • 태그

    next.js
    Node.js
    webpack
    알고리즘
    CCNA
    네트워크
    다이소
    ChatGPT
    영어회화
    CSS
    redux
    영어독학
    바질 키우기
    네이버 부스트캠프
    Babel
    자바스크립트
    프로그래머스
    리얼학습일기
    리액트
    ReactNative
    typescript
    타일러영어
    react
    식물
    타입스크립트
    덤프
    Docker
    바질
    리얼클래스
    javascript
  • hELLO· Designed By정상우.v4.10.1
잉여개발자
[TypeScript] 추가 타입
상단으로

티스토리툴바