금요일 오후 다섯 시, 배포를 마치고 퇴근 가방을 챙기던 신입 개발자 민수 씨의 휴대폰이 울렸습니다. 운영 화면에 "Cannot read properties of undefined (reading 'name')"이라는 오류가 가득하다는 연락이었습니다. 원인은 단순했습니다. 서버가 돌려준 값에 `user`가 없을 수도 있다는 사실을 코드가 전혀 모르고 있었던...

밤 11시, 배포한 지 10분 만에 알림이 울린다. "결제 페이지에서 에러가 나요." 로그를 열어 보니 원인은 허무하다. 서버가 내려준 값이 문자열 `"0"`이었는데, 코드에서는 숫자 `0`으로 여기고 `price - discount`를 계산한 것이다. 자바스크립트는 이 실수를 조용히 넘어간다. 실행되기 전까지 아무도 몰랐고, 하필 그걸 사용자가 먼저 발견...

자바스크립트로 규모가 큰 프로젝트를 만들다 보면 꼭 겪는 일이 있습니다. 분명 숫자라고 생각했던 값이 문자열이어서 엉뚱한 결과가 나오는 일. 타입스크립트(TypeScript)는 이런 실수를 코드를 실행하기 전에 잡아줍니다. 무엇이 다른가 타입스크립트는 자바스크립트에 타입(type)이라는 안전장치를 더한 언어입니다. 작성한 코드는 결국 평범한 자바스크립트로 ...