
책소개
실제로 활용 가능한 실용적인 예제와 라이브러리 타이핑 연습을 담았다. 프런트엔드, 백엔드 개발자 상관 없이 타입에 대한 숙련도를 높일 수 있는, 현업 필수 라이브러리로 준비했다. 라이브러리가 타입스크립트를 지원하는가(타입 지원 여부), 라이브러리에서 가장 중요한 타입은 무엇인가(핵심 파일), 어떤 모듈 시스템을 사용하는가(모듈 종류), 라이브러리 타입을 어떻게 분석하는가(타입 분석)의 순서로 유명 라이브러리 타입을 분석하고 직접 타이핑해보자. 이를 통해 평소 그냥 사용하던 함수들을 깊게 이해하고, 복잡한 타입도 차근차근 분석할 수 있는 역량을 키우자.
저자소개
출판사소개
목차
1장 타입스크립트 시작하기
__1.1 타입스크립트를 공부할 때 알아야 할 단 한가지
__1.2 공식 문서와 플레이그라운드
__1.3 왜 타입이 필요한가
2장 기본 문법 익히기
__2.1 변수, 매개변수, 반환값에 타입을 붙이면 된다
__2.2 타입 추론을 적극 활용하자
__2.3 값 자체가 타입인 리터럴 타입이 있다
__2.4 배열 말고 튜플도 있다
__2.5 타입으로 쓸 수 있는 것을 구분하자
__2.6 유니언 타입으로 OR 관계를 표현하자
__2.7 타입스크립트에만 있는 타입을 배우자
____2.7.1 any
____2.7.2 unknown
____2.7.3 void
____2.7.4 {}, Object
____2.7.5 never
____2.7.6 타입 간 대입 가능표
__2.8 타입 별칭으로 타입에 이름을 붙이자
__2.9 인터페이스로 객체를 타이핑하자
____2.9.1 인터페이스 선언 병합
____2.9.2 네임스페이스
__2.10 객체의 속성과 메서드에 적용되는 특징을 알자
____2.10.1 인덱스 접근 타입
____2.10.2 매핑된 객체 타입
__2.11 타입을 집합으로 생각하자(유니언, 인터섹션)
__2.12 타입도 상속이 가능하다
__2.13 객체 간에 대입할 수 있는지 확인하는 법을 배우자
____2.13.1 구조적 타이핑
__2.14 제네릭으로 타입을 함수처럼 사용하자
____2.14.1 제네릭에 제약 걸기
__2.15 조건문과 비슷한 컨디셔널 타입이 있다
____2.15.1 컨디셔널 타입 분배법칙
__2.16 함수와 메서드를 타이핑하자
__2.17 같은 이름의 함수를 여러 번 선언할 수 있다
__2.18 콜백 함수의 매개변수는 생략 가능하다
__2.19 공변성과 반공변성을 알아야 함수끼리 대입할 수 있다
__2.20 클래스는 값이면서 타입이다
____2.20.1 추상 클래스
__2.21 enum은 자바스크립트에서도 사용할 수 있다
__2.22 infer로 타입스크립트의 추론을 직접 활용하자
__2.23 타입을 좁혀 정확한 타입을 얻어내자
__2.24 자기 자신을 타입으로 사용하는 재귀 타입이 있다
__2.25 정교한 문자열 조작을 위해 템플릿 리터럴 타입을 사용하자
__2.26 추가적인 타입 검사에는 satisfies 연산자를 사용하자
__2.27 타입스크립트는 건망증이 심하다
__2.28 원시 자료형에도 브랜딩 기법을 사용할 수 있다
__2.29 배운 것을 바탕으로 타입을 만들어보자
____2.29.1 판단하는 타입 만들기
____2.29.2 집합 관련 타입 만들기
__2.30 타입스크립트의 에러 코드로 검색하자
__2.31 함수에 기능을 추가하는 데코레이터 함수가 있다
__2.32 앰비언트 선언도 선언 병합이 된다
3장 lib.es5.d.ts 분석하기
__3.1 Partial, Required, Readonly, Pick, Record
__3.2 Exclude, Extract, Omit, NonNullable
__3.3 Parameters, ConstructorParameters, ReturnType, InstanceType
__3.4 ThisType
__3.5 forEach 만들기
__3.6 map 만들기
__3.7 filter 만들기
__3.8 reduce 만들기
__3.9 flat 분석하기
__3.10 Promise, Awaited 타입 분석하기
__3.11 bind 분석하기
4장 타입스크립트 프로젝트 설정하기
__4.1 개발 환경 설정하기
____4.1.1 노드 설치하기
____4.1.2 Visual Studio Code 설치하기
____4.1.3 타입스크립트 설치하기
__4.2 타입스크립트 지원 패키지인지 파악하기
__4.3 tsc와 tsconfig.json
____4.3.1 tsc 명령어로 자바스크립트로 변환하기
5장 jQuery 타입 분석하기
__5.1 jQuery 직접 타이핑하기
__5.2 export = 타입 이해하기
__5.3 스크립트 파일과 모듈 파일 이해하기
__5.4 js 파일 생성하기
6장 Axios 타입 분석하기
__6.1 Axios 직접 타이핑하기
__6.2 다양한 모듈 형식으로 js 파일 생성하기
__6.3 axios의 타입을 어떻게 찾았는지 이해하기
7장 React 타입 분석하기
__7.1 React Hooks 분석하기
____7.1.1 useState
____7.1.2 useRef
____7.1.3 useEffect
____7.1.4 useMemo, useCallback
__7.2 JSX 타입 이해하기
__7.3 React 직접 타이핑하기
__7.4 js 파일 생성하기
8장 Node.js 타입 분석하기
__8.1 Node.js 직접 타이핑하기
__8.2 js 파일 생성하기
9장 Express 타입 분석하기
__9.1 req, res, next 타입 분석 및 타이핑하기
__9.2 Express 직접 타이핑하기
10장 패키지 직접 타이핑하기
__10.1 타입을 지원하지 않는 패키지 타이핑하기
____10.1.1 baseUrl과 paths로 타이핑하기
__10.2 js 패키지를 만들고 타입 추가하기
__10.3 ts 패키지를 만들고 .d.ts 생성하기
__10.4 js 프로젝트를 ts로 전환하기
찾아보기
배송
- 배송비, 무료배송비는 업체 사정에 따라 달라질 수 있습니다.
- 배송은 결제 확인 후 다음날부터 2~3일 이내에 배송됩니다. (단 도서 산간지역은 1~2일정도 더 소요됩니다.)
- 공휴일은 배송기간에 포함되지 않습니다.
- 주문하신 상품이 여러개인 경우 동일한 업체의 상품만 묶음 배송 가능합니다. (업체 사정에 따라 달라질 수 있습니다.)
- 배송정보는 상단 주문조회나 마이페이지 주문목록에서 가능합니다.
상품 품절
- 공급사(출판사) 재고 사정에 의해 품절/지연될 수 있으며, 품절 시 관련 사항에 대해서는 이메일과 문자로 안내드립니다.
주문취소/변경
- 주문 상품에 대한 변경사항(품절,가격변동)이 발생하면 전화나 메일을 통해 변경내용을 알려드립니다.
- 주문 상품의 변경/취소/환불은 배송 시작전 마이페이지에서 직접 신청이 가능합니다.
- 주문 상품이 발송된 시점에서는 변경/취소/환불이 모두 불가능합니다.
반품/교환
- 기간 : 배송받으신 후 7일 이내에 가능합니다.
- 방법 : 홈페이지 마이페이지 > 반품/ 교환 신청 및 조회에서 가능합니다.
- 배송비 부담 : 상품에 이상이 있을시에는 무료, 고객의 단순변심 및 착오구매일 경우 상품 반송비용은 고객 부담입니다.
- 포장 개봉 후 재판매가 불가능한 상품은 반품/교환이 불가능합니다.
- 전자상거래 등에서의 소비자보호에 관한 법률이 정하는 소비자 청약철회 제한 내용에 해당되는 경우, 반품/교환이 불가능합니다.
반품/교환 불가 사유
- 소비자의 책임 있는 사유로 상품 등이 손실 또는 훼손된 경우 (단지 확인을 위한 포장 훼손은 제외)
- 소비자의 사용, 포장 개봉에 의해 상품 등의 가치가 현저히 감소한 경우
- 복제가 가능한 상품 등의 포장을 훼손한 경우
- 소비자의 요청에 따라 개별적으로 주문 제작되는 상품의 경우
- 디지털 컨텐츠인 eBook, 오디오북 등을 1회 이상 다운로드를 받았을 경우
- 시간의 경과에 의해 재판매가 곤란한 정도로 가치가 현저히 감소한 경우
- 전자상거래 등에서의 소비자보호에 관한 법률이 정하는 소비자 청약철회 제한 내용에 해당되는 경우
소비자 피해보상 환불 지연에 따른 배상
- 상품의 불량에 의한 반품, 교환, A/S, 환불, 품질보증 및 피해보상 등에 관한 사항은 소비자분쟁해결기준(공정거래위원회 고시)에 준하여 처리합니다.
- 대금 환불 및 환불 지연에 따른 배상금 지급 조건, 절차 등은 전자상거래 등에서의 소비자 보호에 관한 법률에 따라 처리합니다.