TypeScript란?

Antipiebse·2022년 3월 21일
0

다양한 지식

목록 보기
9/21

TypeScript란

프로그래머들이 작성하는 가장 흔한 오류인 타입 오류를 방지하기 위해 만들어진 JavaScript 프로그램의 정적 타입 검사자이다.
예를 들어 JS에서 불리언 타입을 표현할 때

let isDone = false;

라는 방식으로 표현을 한다.
이를 타입스크립트에선

let isDone: boolean = false;

의 방식으로 변수를 선언할 때 타입과 함께 선언한다.

동적타입언어와 정적타입언어?

자바스크립트는 동적타입언어로

  • 타입을 신경 안 써도 된다.
  • 속도가 빠르다.
  • 타입 오류가 발생할 수도 있다.

는 특징이 있고,

타입스크립트는 정적타입언어로 자바스크트를 포함하고 있는 언어라고 생각하면 된다.

  • 변수를 선언할 때마다 타입을 정해주어야한다.
  • 타입 오류를 컴파일시 발견할 수 있다.
  • 안정적이다.

typescript의 기본 타입의 종류는

let isDone:boolean = true
let isNum:number = 1
let isStr:string = 'hello'
let isArr: number[] ||string[] = [1,2,3] || ['a','b','c']

요소의 타입과 개수가 고정된 배열을 표현하고 싶을 땐 tuple을 사용해보자.

let isTuple:[string, number]
x = ['hi',12]

열거하는 방식으로 데이터 형을 선언할 수 있다. (Enum)

또한 enum은 0부터 시작하여 멤버들의 번호를 매긴다.(순서 변경도 가능!)

enum color {Red, Green, Blue}
let c: color = color.Green
enum color {Red = 0 Green=1, Blue=2}
let c: color = color.Green

+enum은 매겨진 값을 사용해 enum멤버의 이름을 알 수 있다.

enum Color {Red = 1, Green, Blue}
let colorName: string = Color[2];

console.log(colorName); // 값이 2인 'Green'이 출력됩니다.

Any타입

타입의 일부만 알고 전체를 알지 못할 때 유용!!

let notSure: any = 4;

Void타입

어떤 타입도 존재할 수 없음을 표현, 보통 함수에서 변환 값이 없을 때 사용

function warnUser(): void {
    console.log("This is my warning message");
}

void를 타입 변수에 선언하는 것은 유용하지 않다. 왜냐하면 null, undefined만 사용할 수 있기 때문.

Never타입

절대 발생할 수 없는 타입을 나타낸다.

function error(message: string): never {
    throw new Error(message);
}

Object타입

원시 타입이 아닌 타입을 나타낸다.

declare function create(o: object | null): void;
create({ prop: 0 }); // 성공
create(null); // 성공

create(42); // 오류
create("string"); // 오류
create(false); // 오류
create(undefined); // 오류

이러한 타입들을 함수의 매개변수에도 적용할 수도 있다. 이렇듯 타입스크립트는 변수의 타입을 먼저 정한 후 코드를 실행하므로 타입으로 인한 오류 발생을 줄일 수 있다. 이외에도 리터럴 타입, 유니언과 교차 타입 등 다양한 타입이 존재하므로 TypeScript를 참조하자. 그리고 많은 브라우저에서 타입스크립트를 사용하는 것이 아니므로 타입스크립트로 작성한 후 자바스크립트로 변형하는 과정을 갖추어야한다.

profile
백엔드 주니어 개발자

0개의 댓글