Effective TypeScript 북 스터디 📚
24.06.10 ~ 24.08.26 고생하셨습니다
- 매주 월요일 2시 (1h)
- 매주 아이템 5개씩 진행
- 각자 아이템 1개씩 마크다운으로 정리해서 짧게 발표
- 본인이 발표자가 아닌 아이템에서는 발표가 끝나면 한 사람씩 돌아가며 느낀 점, 알게된 점 공유
- 해당 주차 아이템 연관 개념이나 새로 학습한 타입스크립트 내용 등 자유롭게 공유
- 모노 - 이든 - 윈터 - 리아 - 맥스
- 각 아이템 별 directory에 해당 아이템 내용을 정리한다. (파일명: item01_이름.md)
- 매주 본인이 맡은 아이템 내용 정리 후 Pull Request를 생성한다.
- Pull Request 제목은
[이름]아이템 N 정리
로 한다. - 담당 아이템이 아닌 내용을 정리하는 것은 자유이다.
김원호 | 김영호 | 김수빈 | 오시연 | 이찬형 |
Chapter 01
Item | Discussion | Date | Assignee |
---|---|---|---|
01 | 타입스크립트와 자바스크립트의 관계 이해하기 | 24.06.10 | 김원호 |
02 | 타입스크립트 설정 이해하기 | 24.06.10 | 김영호 |
03 | 코드 생성과 타입이 관계없음을 이해하기 | 24.06.10 | 김수빈 |
04 | 구조적 타이핑에 익숙해지기 | 24.06.10 | 오시연 |
05 | any 타입 지양하기 | 24.06.10 | 이찬형 |
Chapter 02
Item | Discussion | Date | Assignee |
---|---|---|---|
06 | 편집기를 사용하여 타입 시스템 탐색하기 | 24.06.17 | 김원호 |
07 | 타입이 값들의 집합이라고 생각하기 | 24.06.17 | 김영호 |
08 | 타입 공간과 값 공간의 심벌 구분하기 / ts | 24.06.17 | 김수빈 |
09 | 타입 단언 보다는 타입 선언 사용하기 | 24.06.17 | 오시연 |
10 | 객체 래퍼 타입 피하기 | 24.06.17 | 이찬형 |
11 | 잉여 속성 체크의 한계 인지하기 | 24.06.24 | 김원호 |
12 | 함수 표현식에 타입 적용하기 | 24.06.24 | 김수빈(김영호) |
13 | 타입과 인터페이스의 차이점 알기 | 24.06.24 | 김수빈 |
14 | 타입 연산과 제네릭 사용으로 반복 줄이기 / ts | 24.06.24 | 오시연 |
15 | 동적 데이터에 인덱스 시그니처 사용하기 | 24.06.24 | 이찬형 |
16 | number 인덱스 시그니처보다는 Array, 튜플, ArrayLike를 사용하기 | 24.07.01 | 김원호 |
17 | 변경 관련된 오류 방지를 위해 readonly 사용하기 | 24.07.01 | 김수빈(김영호) |
18 | 매핑된 타입을 사용하여 값을 동기화하기 | 24.07.01 | 김수빈 |
Chapter 03
Item | Discussion | Date | Assignee |
---|---|---|---|
19 | 추론 가능한 타입을 사용해 장황한 코드 방지하기 | 24.07.01 | 오시연 |
20 | 다른 타입에는 다른 변수 사용하기 | 24.07.01 | 김원호(이찬형) |
21 | 타입 넓히기 | 24.07.08 | 김원호 |
22 | 타입 좁히기 | 24.07.08 | 김영호 |
23 | 한꺼번에 객체 생성하기 | 24.07.08 | 김수빈 |
24 | 일관성 있는 별칭 사용하기 | 24.07.08 | 오시연 |
25 | 비동기 코드에는 콜백 대신 async 함수 사용하기 | 24.07.08 | 이찬형 |
26 | 타입 추론에 문맥이 어떻게 사용되는지 이해하기 | 24.07.15 | 김원호 |
27 | 아이템27 함수형 기법과 라이브러리로 타입 흐름 유지하기 | 24.07.15 | 김영호 |
Chapter 04
Item | Discussion | Date | Assignee |
---|---|---|---|
28 | 유효한 상태만 표현하는 타입을 지향하기 | 24.07.15 | 김수빈 |
29 | 사용할 때는 너그럽게, 생성할 때는 엄격하게 | 24.07.15 | 오시연 |
30 | 문서에 타입 정보를 쓰지 않기 | 24.07.15 | 이찬형 |
31 | 타입 주변에 null 값 배치하기 | 24.07.22 | 김원호 |
32 | 유니온의 인터페이스보다는 인터페이스의 유니온 사용하기 | 24.07.22 | 김영호 |
33 | string 타입보다 더 구체적인 타입 사용하기 | 24.07.22 | 김수빈 |
34 | 부정확한 타입보다는 미완성 타입을 사용하기 | 24.07.22 | 오시연 |
35 | 데이터가 아닌, API와 명세를 보고 타입 만들기 | 24.07.22 | 이찬형 |
36 | 해당 분야의 용어로 타입 이름 짓기 | 24.07.22 | 김원호 |
37 | 공식 명칭에는 상표를 붙이기 | 24.07.31 | 김영호 |
Chapter 05
Item | Discussion | Date | Assignee |
---|---|---|---|
38 | any 타입은 가능한 한 좁은 범위에서만 사용하기 | 24.07.31 | 김수빈 |
39 | any를 구체적으로 변형해서 사용하기 | 24.07.31 | 오시연 |
40 | any의 진화를 이해하기 | 24.08.08 | 이찬형 |
41 | 함수 안으로 타입 단언문 감추기 | 24.08.13 | 김원호 |
42 | 모르는 타입의 값에는 any 대신 unknown을 사용하기 | 24.08.08 | 김영호 |
43 | 몽키 패치보다는 안전한 타입을 사용하기 | 24.08.08 | 김수빈 |
44 | 타입 커버리지를 추적하여 타입 안정성 유지하기 | 24.08.08 | 오시연 |
Chapter 06
Item | Discussion | Date | Assignee |
---|---|---|---|
45 | any 타입은 가능한 한 좁은 범위에서만 사용하기 | 24.08.08 | 이찬형 |
46 | 타입 선언과 관련된 세 가지 버전 이해하기 | 24.08.13 | 김원호 |
47 | 공개 API에 등장하는 모든 타입을 익스포트하기 | 24.08.13 | 김영호 |
48 | API 주석에 TSDoc 사용하기 | 24.08.13 | 김수빈 |
49 | 콜백에서 this에 대한 타입 제공하기 | 24.08.13 | 오시연 |
50 | 오버로딩 타입보다는 조건부 타입을 사용하기 | 24.08.13 | 이찬형 |
51 | 의존성 분리를 위해 미러 타입 사용하기 | 24.08.19 | 김원호 |
52 | 테스팅 타입의 함정에 주의하기 | 24.08.19 | 김영호 |
Chapter 07
Item | Discussion | Date | Assignee |
---|---|---|---|
53 | 타입스크립트 기능보다는 ECMAScript 기능을 사용하기 | 24.08.19 | 김수빈 |
54 | 객체를 순회하는 노하우 | 24.08.19 | 오시연 |
55 | DOM 계층 구조 이해하기 | 24.08.19 | 이찬형 |
56 | 정보를 감추는 목적으로 private 사용하지 않기 | 24.08.26 | 김원호 |
57 | 소스맵을 사용하여 타입스크립트 디버깅하기 | 24.08.26 | 김영호 |
Chapter 08
Item | Discussion | Date | Assignee |
---|---|---|---|
58 | 모던 자바스크립트로 작성하기 | 24.08.26 | 김수빈 |
59 | 타입스크립트 도입 전에 @ts-check와 JsDoc으로 시험해 보기 | 24.08.26 | 오시연 |
60 | allowJs로 타입스크립트와 자바스크립트 같이 사용하기 | 24.08.26 | 이찬형 |
61 | 의존성 관계에 따라 모듈 단위로 전환하기 | 24.08.26 | 김원호 |
62 | 마이그레이션의 완성을 위해 noImplicitAny 설정하기 | 24.08.26 | 김영호 |