Skip to content

핵심만 담은 타입스크립트 찍어먹기 | 책집필

Notifications You must be signed in to change notification settings

merrybmc/typescript-essentials

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

46 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

핵심만 담은 타입스크립트 찍어먹기

책 표지

책 정보

제목 : 핵심만 담은 타입스크립트 찍어먹기

지은이 : 김모건, 김소리, 김소희, 김지윤, 서동주, 서주예, 이하연, 장수연, 장성우, 조병민, 황시하

편 집 : 김모건, 김소리, 김소희, 김지윤, 서동주, 서주예, 이하연, 장수연, 장성우, 조병민, 황시하

총 괄 : 조병민

표지디자인 : 박재웅

펴낸곳 : 사도출판

ISBN : 979-11-88786-96-1

초판 1쇄 발행 : 2024. 03. 29

학습용 자료

핵심만 담은 타입스크립트 찍어먹기 학습용 자료

QR 코드

QR 코드

목차

📕 1장 타입스크립트란? 
├── 1.1 자바스크립트의 한계
├── 1.2 타입스크립트란?
│   └── 1.2.1 타입 시스템
├── 1.3 타입 추론
│   ├── 1.3.1 동적으로 추론 가능한 타입
│   └── 1.3.2 동적으로 추론 불가능한 타입
└── 1.4 타입스크립트 환경 설정
    ├── 1.4.1 Node.js 설치하기
    ├── 1.4.2 타입스크립트 설치하기
    ├── 1.4.3 타입스크립트 사용해보기
    └── 1.4.4 타입스크립트 컴파일러 환경설정 tsconfig.json 세팅

📗 2장 타입스크립트 기본 타입
├── 2.1 기본타입 (Primitive Type)
│   ├── 2.1.1 타입 주석 (Type Annotation)
│   ├── 2.1.2 number
│   ├── 2.1.3 string
│   ├── 2.1.4 boolean
│   ├── 2.1.5 null
│   └── 2.1.6 undefined
├── 2.2 독자적 타입
│   ├── 2.2.1 any
│   ├── 2.2.2 unknown
│   ├── 2.2.3 void
│   ├── 2.2.4 never
│   ├── 2.2.5 enum 타입 (Enumerable Type)
│   └── 2.2.6 리터럴 타입
├── 2.3 기본적인 타입 조합
│   ├── 2.3.1 유니온 타입
│   └── 2.3.2 템플릿 리터럴 타입
└── 2.4 타입 계층 이해하기
    ├── 2.4.1 타입을 집합으로 바라보기
    ├── 2.4.2 타입 호환성
    └── 2.4.3 any 타입과 unknown 타입

📗 3장 배열 타입
├── 3.1 기본 배열
│   ├── 3.1.1 배열의 타입
│   ├── 3.1.2 배열의 선언과 초기화
│   └── 3.1.3 Readonly
├── 3.2 튜플 타입
│   ├── 3.2.1 튜플의 선언과 할당
│   ├── 3.2.2 튜플의 구조 분해 할당
│   ├── 3.2.3 튜플의 변경
│   ├── 3.2.4 튜플 타입의 선택적 속성
│   ├── 3.2.5 튜플과 rest 연산자
│   └── 3.2.6 읽기 전용 튜플
└── 3.3 다차원 배열 타입
    ├── 3.3.1 다차원 배열의 선언과 초기화
    ├── 3.3.2 다차원 배열에서 여러 타입 사용
    └── 3.3.3 다차원 튜플

📗 4장 객체 타입
├── 4.1 타입스크립트의 객체 타입
│   ├── 4.1.1 객체 리터럴 선언
│   └── 4.1.2 명시적 선언
├── 4.2 타입 별칭으로 객체 타입 정의
│   ├── 4.2.1 기본 정의 방법
│   └── 4.2.2 교차 타입
├── 4.3 인터페이스로 객체 타입 정의
│   ├── 4.3.1 기본 정의 방법
│   └── 4.3.2 인터페이스 확장하기/합치기
├── 4.4 구조적 타이핑
│   ├── 4.4.1 명목적 타이핑
│   └── 4.4.2 구조적 타이핑
├── 4.5 타입 별칭과 인터페이스의 차이점
│   ├── 4.5.1 선언 병합
│   ├── 4.5.2 확장과 유연성
│   └── 4.5.3 클래스 구현
└── 4.6 객체 타입의 호환성
    ├── 4.6.1 객체 타입의 호환성
    └── 4.6.2 초과 프로퍼티 검사

📘 5장 함수
├── 5.1 함수의 선언과 호출 방법
│   ├── 5.1.1 함수의 선언
│   ├── 5.1.2 함수의 매개변수
│   └── 5.1.3 함수의 반환 값
├── 5.2 함수의 this 타입
│   ├── 5.2.1 명시적 this 타입
│   └── 5.2.2 암시적 this 타입
├── 5.3 오버로딩
│   ├── 5.3.1 오버로드 시그니처
│   ├── 5.3.2 구현 시그니처
│   └── 5.3.3 예시
└── 5.4 함수 타입의 호환성
    ├── 5.4.1 타입의 공변성과 반공변성, 이변성
    ├── 5.4.2 반환값의 타입에 따른 호환성
    └── 5.4.3 매개변수의 타입에 따른 호환성

📘 6장 클래스
├── 6.1 타입스크립트에서 클래스 사용하기
│    ├── 6.1.1 클래스란?
│    ├── 6.1.2 클래스 정의
│    ├── 6.1.3 생성자
│    ├── 6.1.4 Getter & Setter
│    ├── 6.1.5 상속
│    └── 6.1.6 접근 제어자
└── 6.2 인터페이스와 클래스
    └── 6.2.1 인터페이스를 클래스에 활용하기

📘 7장 제네릭 타입
├── 7.1 기본 타입 정의
│    └── 7.1.1 제네릭이란?
├── 7.2 콜백 함수에서의 제네릭
│    ├── 7.2.1 타입스크립트의 콜백 함수
│    ├── 7.2.2 콜백 함수에 제네릭 적용
│    ├── 7.2.3 다양한 타입의 제네릭 콜백 함수
│    └── 7.2.4 제네릭 콜백 함수를 통한 API 호출
├── 7.3 인터페이스와 타입 별칭에서의 제네릭
│    ├── 7.3.1 제네릭 인터페이스
│    ├── 7.3.2 제네릭 타입 별칭
│    └── 7.3.3 제네릭 인터페이스 활용
├── 7.4 클래스에서의 제네릭
│    ├── 7.4.1 원시 타입 변수
│    ├── 7.4.2 참조 타입 변수
│    └── 7.4.3 제네릭 클래스의 extends
├── 7.5 프로미스에서의 제네릭
│    ├── 7.5.1 프로미스
│    ├── 7.5.2 프로미스의 타입
│    ├── 7.5.3 프로미스 타입의 추론
│    ├── 7.5.4 프로미스 객체의 타입 정의
│    └── 7.5.5 프로미스 객체를 반환하는 함수의 타입 정의
└── 7.6 제약 조건 (Constraints)
    ├── 7.6.1 제네릭의 제약 조건
    └── 7.6.2 제약 조건의 다른 예제

📙 8장 타입 말해주기
├── 8.1 타입 단언 (Type Assertion)
│    ├── 8.1.1 타입 단언이란?
│    ├── 8.1.2 타입 단언 규칙
│    ├── 8.1.3 const 단언
│    ├── 8.1.4 Non-Null 단언
│    ├── 8.1.5 다중 단언
│    └── 8.1.6 타입 단언의 사용 목적과 주의할 점
└── 8.2 타입 가드 (Type Guard)
    ├── 8.2.1 타입 가드란?
    └── 8.2.2 타입 가드 적용 방법

📙 9장 타입 조작
├── 9.1 인덱스 시그니처 (Index Signature)
│    ├── 9.1.1 인덱스 시그니처란?
│    ├── 9.1.2 인덱스 시그니처의 허용 타입
│    ├── 9.1.3 인덱스 시그니처의 확장
│    └── 9.1.4 인덱스 시그니처의 readonly
├── 9.2 인덱스드 액세스
│    ├── 9.2.1 객체 예시
│    ├── 9.2.2 배열 예시
│    └── 9.2.3 튜플 예시
├── 9.3 Mapped Types
│    ├── 9.3.1 자바스크립트의 map 함수
│    ├── 9.3.2 Mapped Types 기본 문법
│    └── 9.3.3 Mapped Types 응용
└── 9.4 keyof 연산자

📙 10장 조건부 타입
├── 10.1 기본 사용 방법
│    └── 10.1.1 제네릭 조건부 타입
├── 10.2 분산적인 조건부 타입
└── 10.3 infer로 타입 추론하기

📙 11장 유틸리티 타입
├── 11.1 유틸리티 타입의 개념
├── 11.2 Partial, Required, Readonly
│    ├── 11.2.1 Partial
│    ├── 11.2.2 Required
│    └── 11.2.3 Readonly
├── 11.3 Pick, Omit, Record
│    ├── 11.3.1 Pick
│    ├── 11.3.2 Omit
│    └── 11.3.3 Record
└── 11.4 Exclude, Extract, ReturnType
     ├── 11.4.1 Exclude<T, U>
     ├── 11.4.2 Extract<T, U>
     └── 11.4.3 ReturnType<T>

🖥️ 12장 리액트 with 타입스크립트
├── 12.1 프로젝트 세팅하기
│    ├── 12.1.1 새로운 리액트 프로젝트 생성
│    └── 12.1.2 기존 리액트 프로젝트에 타입스크립트 마이그레이션
├── 12.2 State
│    ├── 12.2.1 useState 훅
│    ├── 12.2.2 HTMLElement 타입
│    └── 12.2.3 useState에 타입스크립트 적용하기
├── 12.3 컴포넌트와 props
│    ├── 12.3.1 리액트 컴포넌트의 props
│    ├── 12.3.2 리액트 컴포넌트 타입
│    └── 12.3.3 props의 타입 지정
├── 12.4 이벤트
├── 12.5 Styled-Components
│    ├── 12.5.1 설치 방법
│    └── 12.5.2 사용 방법
└── 12.6 Context API
     ├── 12.6.1 TodoContext 생성
     |-- 12.6.2 provider 설정
     └── 12.6.3 전역 상태 공유

About

핵심만 담은 타입스크립트 찍어먹기 | 책집필

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published