javascript는 변수의 타입이 runtime에 결정된다.
이에 따라 개발자의 실수로 인한 오류가 발생하기 쉽고 찾기도 까다롭다.
변수에 잘못된 타입의 값이 할당되어 발생한 오류를 찾기 위해서는 실행 시간에 변수의 갑소가 타입을 모두 확인해야 하는 번거로움이 있다.
javascript는 let, const와 같이 변수/상수를 구분하는 정도의 키워드만 지원된다.
javascript에서는 프로그래머가 마음만 먹으면 객체의 성질을 수시로 변화 시킬 수 있다.
위의 단점을 보완하기 위해 typescript를 사용한다.
typescript로 인해 컴파일단에서 변수의 타입을 체크하고,
ide에서 코드를 입력하는 순간 에러 메시지를 확인 할 수 있다.
그리고 객체의 성질이 바뀌면 바로 에러 메시지로 확인 할 수 있다.