TypeScript 부수기

JIWON LEE·2021년 3월 2일

javascript는 동적언어이어서 코드가 복잡하거나 오류가 많이 발생해 큰 프로젝트에서 위험부담이 될 수 있다.

이러한 문제점을 극복하고자 나온 것이 TypeScript이다.

한글로 하겠다.

타입스크립트는 ES5의 Superset이므로 기존 자바스크립트 문법을 그대로 사용할 수 있다.
또한 ES6의 새로운 기능들을 사용하기 위해 Babel과 같은 별도 트랜스파일러를 사용하지 않아도 ES6의 새로운 기능을 기존 자바스크립트 엔진에서 실행 할 수 있다.

TypeScript의 장점

  1. 우선 가장 큰 이유는 정적타입을 지원하는 것 이다.

    정적타입은 컴파일 단계에서 오류를 포착할 수 있다.
    명시적인 정적 타입 지정은 개발자의 의도를 명확하게 코드로 기술할 수 있다.
    코드 가독성을 높이고 디버깅을 쉽게한다.

  2. 도구의 지원

    큰 장점은 IDE를 포함한 다양한 도구의 지원을 받을 수 있다는 것

  3. 강력한 객체지향 프로그래밍 지원

    인터페이스, 제네릭 등 강력한 객체지향 프로그래밍 지원은 복잡한 프로젝트를 가능하게 함

  4. ES6/ES Next 지원

    브라우저만 있으면 컴파일러 등 개발환경 구축없이 바로 사용할 수 있는 ES5와 비교할 때는 다소 복잡할수 있지만 현재 ES6를 완전히 지원하지 않고 있는 브라우저를 고려해 Babel등 트랜스 파일러를 사용해야하는 현 상황에서는 오히려 좋다.

개발환경 구축

타입스크립트 파일은 브라우저에서 동작하지 않음으로 타입스크립트 컴파일러를 이용해 자바스크립트 파일로 변환 해야한다. 이를 컴파일 또는 트랜스파일링이라고 함

타입스크립트 컴파일러는 .ts파일을 자바스크립트 파일로 트랜스파일링한다.

tsc옵션 설정 파일 = tsconfig.json

타입 선언

타입스크립트는 변수명 뒤에 타입을 명시

타입추론도 됨 ( 만약 타입 선언을 하지 않는다면 )

타입 캐스팅

기존 타입에서 다른 타입으로 타입 캐스팅 하려면 as 키워드 사용 or <> 연산자 사용 가능

인터페이스

ES6는 인터페이스 지원하지 않음

타입 앨리어스

타입 앨리어스는 새로운 타입을 정의한다.

타입으로 사용가능 하다는 점에서 인터페이스와 유사

인터페이스는 extends 또는 implements될 수 있지만 타입 앨리어스는 extends또는 implements 될 수 없다. 즉, 상속을 통해 확장이 필요하다면 타입 앨리어스보다는 인터페이스가 유리하다.
하지만 인터페이스로 표현할 수 없거나 유니온 or 튜플을 사용해야한다면 타입 앨리어스가 더 유리하다.

profile
포기잘하는 프론트엔드 개발자

0개의 댓글