타입스크립트 기초 학습 정리 - 1
2021-02-28 19:29:33
타입스크립트란
- 마이크로소프트에서 개발하고 관리하는 오픈 소스이다.
- 정적 타입의 언어 이다. (데이터 타입이 존재)
- 별도의 컴파일러가 존재 하여 컴파일을 하게 되면 자바스크립트 파일로 변환 된다.
- 자주 쓰는 VsCode의 경우가 타입스크립트로 개발되어 있다.
장점 & 단점
- 데이터 타입을 명시 하여 코드의 가독성이 좋아 진다.
- 생산성도 좋다고 하는데 아직 숙달 레벨이 아니라 체감을 못하는 중..😓
- 여러 사람이 쓰는 코드의 경우 JS보다 관리 레벨이 더 좋을 듯..?
- 단점이라면 사용하기 위해서는 구성원들이 학습을 해야 한다.
설치
1 | npm i typescript -g # 타입스크립트 컴파일러 |
기본 문법
- string, number, boolean등 데이터 타입을 선언할 수 있다.
- any는 어떤 타입의 데이터도 쓸 수 있는데 가능 하면 안 쓰기 (이러면 JS와 다를 게 뭐가 있나 😤)
- never는 절대 리턴이 없는 케이스 (throw 같은 경우)
- void는 undefined 리턴인 경우에 쓴다.
- 배열도 마찬가지로 다른 데이터 타입이 들어 오면 에러가 난다.
- 튜플은 아마 안 쓸 거 같음..
- 함수에서는 매개변수, 리턴 타입을 적어주는 게 관례
- ?를 붙이는 건 선택형 매개변수
- 프로미스의 경우 tsconfig에서 es2015이상이여야 사용 가능
- 프로미스의 리턴 타입의 경우 resolve의 데이터 타입을 적어주어야 하며 에러의 경우는 any로 잡힘
특이한 타입으로 any, never라는 게 있는데 any는 말 그대로 어떤 데이터의 타입
1 | /** |
타입 별칭
Type Alias는 직역 하면 내가 정의한 타입이라는 의미인데 뭔가 구조체 같은 느낌이 나기도 하고..
주로 Object를 다룰 떄 쓸 꺼 같고 자주 쓰게 될 문법 일 듯 😀
1 | type Text = string; |
유니온 & 인터섹션
- 유니온 = OR (한 타입의 프로퍼티들을 기입 하고 나서 나머지 타입은 넣거나 말거나)
- 인터섹션 = AND (모든 프로퍼티를 기입 하여야 함)
1 | /** |
Enum
열거형을 지원함
1 | enum Season { |