타입스크립트는 자바스크립트의 모든 기능을 포함하면서 정적 타입을 지원하는 언어다. 동적 타입 언어와 정적 타입 언어는 장단점이 있기 때문에 프로젝트의 성격에 따라 선택한다.
자바에서 인터페이스는 클래스를 구현하기 전에 필요한 메서드를 정의하는 용도로 쓰인다. 타입스크립트에서는 좀 더 다양한 것들을 정의하는데 사용할 수 있다.
타입 호환성은 어떤 타입을 다른 타입으로 취급해도 되는지 판단하는 것이다. 할당 가능은 서브타입(subtype)으로 표현되기도 한다. 할당 가능 여부를 판단할 때는 값의 집합을 생각해보면 쉽다.
타입스크립트의 고급 기능에는 제네릭, 맵드 타입, 조건부 타입이 있다.
MobX와 React Hooks를 조합하기 위해서는 mobx-react-lite를 사용하게 된다. 하지만 기존의 MobX와는 약간의 차이가 있어 직접 구현해야 하는 부분들이 존재한다. 초기