숫자는 그냥 숫자가 아니다: 컴파일러가 단위 버그를 잡게 하는 방법
초를 기대하는 곳에 밀리초를 넘기는 버그는 어떤 테스트도 통과한다. 단위를 TypeScript의 타입 시스템에 직접 인코딩하면 런타임 비용 없이 컴파일 시점에 혼동을 잡아내는 방법을 알아보자.
어떤 함수는 타임아웃을 밀리초로 요구한다. 을 넘긴다. 나중에 다른 함수가 타임아웃을 초 단위로 요구한다. 를 넘긴다. 그 사이에 을 호출하면, 한 시간 스물세 분 동안 아무 일도 일어나지 않는다. TypeScript는 여기서 도움이 되지 않는다. 과 는 둘 다 다. 컴파일러는 미터…