866 단어
4 분
Typescript 학습 로드맵
TypeScript를 어떻게 공부해야 되는지 순서 정리
사람마다 공부하는 방법은 다릅니다. 이 로드맵을 맹목적으로 따르지는 마세요.
1. TypeScript 기초
- TypeScript 설치 및 설정
- Node.js와 npm 설치
- TypeScript 컴파일러(tsc) 설치
- TypeScript 프로젝트 설정 (
tsconfig.json파일 설정)
- Hello World 프로그램 작성
- 간단한 TypeScript 코드 작성 및 컴파일
2. 기본 타입 (Basic Types)
- 기본 타입
- 숫자 (number)
- 문자열 (string)
- 불리언 (boolean)
- 배열 (Array)
- 튜플 (Tuple)
- 열거형 (Enum)
- any, unknown, void, never
3. 인터페이스 (Interfaces)
- 인터페이스 정의
- 선택적 속성 (Optional Properties)
- 읽기 전용 속성 (Readonly Properties)
- 함수 타입 인터페이스
- 인터페이스 확장 (Extending Interfaces)
4. 함수 (Functions)
- 함수 정의 및 타입 선언
- 선택적 매개변수 및 기본값 매개변수 (Optional and Default Parameters)
- 함수 반환 타입
- 화살표 함수 (Arrow Functions)
- 오버로드 (Function Overloading)
5. 클래스 (Classes)
- 클래스 정의 및 생성자
- 접근 제어자 (public, private, protected)
- 상속 (Inheritance)
- 인터페이스 구현 (Implementing Interfaces)
- 추상 클래스 (Abstract Classes)
- 정적 속성 및 메서드 (Static Properties & Methods)
6. 타입 시스템 (Type System)
- 타입 별칭 (Type Aliases)
- 유니언 타입 (Union Types)
- 교차 타입 (Intersection Types)
- 타입 단언 (Type Assertions)
- 형 변환 (Type Casting)
- 타입 가드 (Type Guards)
- 타입 좁히기 (Type Narrowing)
7. 고급 타입 (Advanced Types)
- 제네릭 (Generics)
- 제네릭 함수, 클래스, 인터페이스
- 제네릭 제약 조건 (Generic Constraints)
- 인덱스 시그니처 (Index Signatures)
- 맵드 타입 (Mapped Types)
- 조건부 타입 (Conditional Types)
- 유틸리티 타입 (Utility Types)
- Partial, Readonly, Pick, Omit 등
8. 모듈 및 네임스페이스
- 모듈 시스템 (ES Modules)
- import/export 문법
- 네임스페이스 (Namespaces)
- 모듈 결합 및 분할 (Module Merging)
- 외부 모듈 가져오기 (Third-Party Modules with DefinitelyTyped)
9. 비동기 프로그래밍
- Promise와 async/await
- 비동기 함수의 타입 선언
- 제네릭을 사용한 비동기 함수 처리
10. 타입 선언 파일 (Declaration Files)
- 타입 정의 파일 (.d.ts) 작성 및 사용
- DefinitelyTyped를 이용한 외부 라이브러리 타입 추가
- 내장 타입 정의 활용
11. React와 함께 사용하는 TypeScript
- React 컴포넌트의 타입 정의
- 함수형 컴포넌트 타입 선언
- 클래스형 컴포넌트 타입 선언
- Props와 State의 타입 선언
- 커스텀 훅 (Custom Hooks)의 타입
- Context API와 TypeScript
- React와 제네릭 활용
12. Node.js와 함께 사용하는 TypeScript
- Express.js 애플리케이션에 TypeScript 적용
- Request, Response 객체 타입 선언
- 미들웨어 함수 타입 정의
- TypeORM 또는 Prisma 같은 ORM과 함께 사용
13. 테스트 및 타입 안정성
- Jest 및 Mocha를 이용한 테스트
- TypeScript로 테스트 코드 작성
- 타입 체커 (Type Checking) 활용
- 타입스크립트 린터 설정 (TSLint, ESLint)
14. 빌드 및 배포
- TypeScript 코드의 빌드 과정 이해
- Webpack, Babel과 함께 사용하는 TypeScript
- 프로덕션 환경을 위한 코드 최적화
- Continuous Integration/Continuous Deployment (CI/CD) 파이프라인에 TypeScript 통합
15. 프로젝트 실습
- 간단한 TypeScript 프로젝트 제작
- JavaScript로 작성된 기존 프로젝트를 TypeScript로 마이그레이션
- 풀스택 TypeScript 애플리케이션 (React + Node.js) 제작
16. 타입스크립트 고급 사용 사례
- 상태 관리 라이브러리와 함께 사용
- Redux, Zustand 등
- GraphQL과 TypeScript 통합
- TypeScript와 WebAssembly
TypeScript하기 전에 JavaScript부터 할 것. 사실상 두개는 타입 빼고는 크게 다른거 없음.
