런타임에서 값이 섞일 때 알게 됩니다
let value = 10; value = "hello"; add(10, "20");
작성 중
값 변경 자체는 허용되어 빠르게 실험할 수 있습니다.
실행 후
문자열 결합 같은 의도와 다른 결과를 실행 결과로 확인합니다.
JavaScript는 실행 중 값의 실제 타입으로 동작을 결정하고, TypeScript는 작성 단계와 컴파일 단계에서 값의 모양이 약속과 맞는지 먼저 확인합니다.
let value = 10; value = "hello"; add(10, "20");
값 변경 자체는 허용되어 빠르게 실험할 수 있습니다.
문자열 결합 같은 의도와 다른 결과를 실행 결과로 확인합니다.
let value: number = 10; value = "hello"; add(10, "20");
변수와 함수의 타입 약속에 맞지 않는 값이 바로 표시됩니다.
빌드 단계에서 리팩터링으로 생긴 계약 위반을 한 번 더 확인합니다.
타입 정보가 함수와 모듈의 사용 설명서가 되면, 다른 사람이 코드를 바꿀 때도 실행해 보기 전에 잘못 연결된 값을 더 빨리 발견할 수 있습니다.