Javascript의 약점
실행시간에 결정되는 변수의 타입
- JavaScript는 변수의 타입이 실행 시간에 결정된다
- 이에 따라 개발자의 실수로 인한 오류가 발생하기 쉽고 찾기도 까다롭다
- 예를 들면, 변수에 잘못된 타입의 값이 할당되어 발생한 오류를 찾기 위해서는 실행 시간에 변수의 값과 타입을 모두 확인해야 하는 번거로움이 있다!
약한 타입 체크
- JavaScript는 let, const와 같이 변수/상수를 구분하는 정도의 키워드만 지원이 됨.
- 예를들면 let a = "hi"; a = 3;가 얼마든지 가능하고 이렇게 되면 약간의 실수로 예상하지 않은 동작이 발생할 수도 있따!!
너무나도 물렁물렁한 객체
const obj = { latitude: 11.5, longitude: 47.1 };
const result = obj.latitude * obj.longitute;
console.log(result)
Typescript가 들어온 이후
- 실행시간에 결정되는 변수 타입 -> 이제는 컴파일 시간에 변수 타입 체크
- 약한 타입 체크 -> VsCode에 코드를 입력하는 순간 에러메세지
- 너무나도 물렁한 객체 -> VsCode에 코드를 입력하는 순간 에러메세지