Language/JavaScript

타입스크립트란? TypeScript

청렴결백한 만능 재주꾼 2020. 7. 8. 19:35
반응형

타입스크립트란?

 

 - 타입스트립트는 MS에서 개발하고 관리하는 오픈소스 프로그래밍 언어입니다.

 - 자바스크립트의 superset => 자바스크립트를 포괄한다. (자바스크립트+타입)

 - 타입스크립트로 작성된 코드 -> 자바스크립트로 컴파일(이과정에서 타입을 체크 에러를 잡아낸다.)

 

장점

 - 개발단계에서 버그를 좀 더 쉽게 발견할 수 있다. 

(실 사용자가 맞닥뜨리는 버그 중 15%를 사전에 예방할 수 있다고 발표)

 - 모든 데이터에 타입이 명시 되어 협업에 유리하다.

 - 리액트로 개발할 때 컴포넌트가 가진 state나 props등을 interface로 정의하여 컴포넌트의 기능을 유추하기 쉽다.

 - 자동완성 기능을 사용할 수 있다.

 

단점

 - 러닝커브

 - 레거시코드 교체비용이 비싸다.

 - 개발기간이 늘어난다.(단기적으로는 그렇지만 장기적으로 보면 유지보수 비용이 낮아진다고 느낀다.)

 

 

기본타입

 - boolean

 - Number

 - String

 - Null 

 - undefined

 - any : never를 제외한 모든 타입

 - Void : null과 undefined만을 값으로 가지는 타입, 보통 함수 중 리턴값이 없는 함수들의 타입지정에 쓰인다.

 - Never : 어더한 값도 없는 타입 예를 들어 에러를 던지는 함수 같은 것들.

 

 

배열, 튜플

 - Array : array는 배열을 나타내는 타입이다. 

ex) const pibo: number[] = [0,1,2,3,4]

ex) myFavo : string[] = ["1","dk"]

 

객체

const user:{name:string, height:number} =

 

유니온 타입

가능한 모든 타입을 파이트(|)로 연결하여 표현한다. 

 

 

 type example = string | number

 

const a: example = 뭐라뭐라

 

인터페이스란?

타입스크립트에서 가장 많이 쓰이는 추상화 수단이다.

인터페이스를 통해 값이 따라야 할 제약을 타입으로 표현, 인터페이스의 타입을 통해 어떤 값의 형태를 가져야 하는지 서술 할 수 있다.

 

 

이벤트 타입

event에도 타입이 있고 타입을 지정해 줘야 한다.

 

 

AS 

타입을 강제하는 역할을 함.

 

interface State{

name : string;}

{name}=this.state as State

 

 

any

any는 타입스크립트에서 많이 쓰이지 않는다. 왜냐하면 쓰는 순간 타입스크립트를 사용하는 의미가 없어지기 때문.

 

 

 

 

반응형