본문 바로가기

이펙티브타입스크립트

[이펙티브 타입스크립트] 6장 타입선언과 @types 이펙티브 타입스크립트 정주행 스터디 6주차 45 typescript와 @types 추가하기 typescript와 개발 단계에서는 필요하지만 런타임에는 필요하지 않다. 따라서 dependencies가 아닌 devDependencies에 추가해야한다. typescript를 의존성으로 관리하면, 팀원들 간에 같은 버전을 쓰는 것을 보장할 수 있다. @types도 마찬가지로 devDependencies에 추가한다. 예를 들어 리액트와 웹팩을 사용하는 경우 아래의 패키지를 devDependencies에 추가한다. @types/react @types/react-dom @types/webpack @types/webpack-dev-server @types/node 46 타입 선언과 관련된 3가지 버전 이해하기 타입스크.. 더보기
[이펙티브 타입스크립트] 5장 any 다루기 이펙티브 타입스크립트 정주행 스터디 5주차 다른 프로그래밍 언어들과는 달리, 타입스크립트의 타입시스템은 점진적으로(gradually) 프로그램의 일부분에만 적용할 수 있다. 부분적이고 점진적인 마이그레이션을 위해 any 타입은 꼭 필요하다. any는 그만큼 강력하기 때문에 남용하게 될 여지가 있다. 이번 장에서는 any 타입을 어떻게 사용해야 현명하게 사용하는 것인지 알아보자. 38 좁은 범위에서만 쓰기 any를 사용하더라도 가능한 한 좁은 범위 내에서만 사용하면, 의도치 않게 타입 안정성을 잃는 일을 최소화할 수 있다. const config1: Config { a: 1, b: 2, c: { key: value // 에러, Foo 타입에 foo 프로퍼티가 필요하지만 Bar 타입에는 없습니다. } } c.. 더보기
[이펙티브 타입스크립트] 4장 타입 설계 이펙티브 타입스크립트 정주행 스터디 4주차 데이터 타입을 명확하게 알 수 있다면, 코드를 이해하기가 더욱 쉬워진다. 타입스크립트 타입의 실질적인 사항을 다루는 다른 챕터와 다르게 4장에서는 타입 자체의 설계에 대해서 살펴본다. 28 유효한 상태만 표현하는 타입 지향하기 다음 두 예제를 비교해보자. 첫 번째 예제 코드에서는 가능하지 않은 시나리오까지 표현이 가능하다. 예를 들어 요청이 실패했으면서 로딩 중일 수는 없는데 일단 타입에서는 그렇게 표현이 가능하다. 이러한 타입 설계는 코드를 뒤죽박죽으로 만드는 원인이 된다. interface State { pageText: string; isLoading: boolean; error?: string; } 두 번째 예제 코드에서는 유효한 상태만을 표현하고 있다... 더보기