JavaScript를 사용했을때의 문제점
1. 개발자의 실수에 대해 경고를 주지 않음
function add(num1, num2){
console.log(num1 + num2);
}
add(); -> NaN
add(1); -> NaN
add(1,2); -> 3
add(3.4.5); -> 7
add('aaa','bbb'); -> "aaabbb"
2. 동적언어에서 정적언어로의 전환
JavaScript(동적언어) : 런타임에 타입 결정 / 오류 발견
Java, TypeScript(정적언어) : 컴파일시 타입 결정 / 오류 발견