function add(num1,num2) {
console.log(num1,num2);
}
add();
add(1);
add(1,2);
add(3,4,5);
add('hello','world');
// NaN
// NaN
// 3
// 7
// "helloworld"
아무런 피드백이 없다 아무런 경고도 주지 않았고 실수가 분명한 코드임에도 문제 없이 실행되었다
function showItems(arr){
arr.forEach((item)=> {
console.log(item);
});
}
showItems([1,2,3]);
showItems(1,2,3); //실행 시점 에러 발생
배열이 아니면 레퍼런스 에러 발생
javascript (동적언어) : 런타임에 타입 결정 / 오류 발견
자바스크립트는 실행되는 시점 런타임에 타입이 결정되고 오류가 있으면 그때 발견된다.
자바스크립트는 실행 시점(런타임)에 타입이 결정되므로, 개발자의 실수(예: 인자 전달 오류)를 사전에 잡아내지 못하고 프로그램이 실행될 때 오류가 발생합니다
반면 Java, TypeScript 같은 정적 타입 언어는 컴파일 타임에 타입이 결정된다.
타입스크립트는 정적 타입 언어로, 코드를 작성하는 동안 오류를 감지하여 실행 전에 문제를 해결할 수 있게 해줍니다
시간은 더 걸리겠지만 안정적이고 빠르게 작업이 가능하다.
https://www.typescriptlang.org/play/
TS Playground - An online editor for exploring TypeScript and JavaScript
The Playground lets you write TypeScript or JavaScript online in a safe and sharable way.
www.typescriptlang.org
타입스크립트 플레이그라운드를 활용하면 별도의 설치 없이도 코드를 작성하고 오류를 바로 확인할 수 있습니다

다른 사람이 만든 함수를 사용할때 몇개의 인수를 어떤 타입으로 전달해야하는지 일일히 코드를 뒤져볼 필요가 없어진다.
자동 완성 및 가이드: 타입을 정의하면 개발 도구가 올바른 사용법을 제안해주어 코드 작성 효율이 높아집니다
배열과 메서드 오류: 배열 처리 시에도 타입을 명시하면 예상치 못한 메서드 호출 오류를 미리 막을 수 있습니다
결론적으로 타입스크립트는 초기 코드 작성 시간은 다소 소요될 수 있지만, 안정적이고 빠르게 개발을 진행할 수 있도록 돕는 매우 유용한 도구입니다.
'프론트' 카테고리의 다른 글
| TypeScript 인터페이스(Interface) (0) | 2026.04.11 |
|---|---|
| TypeScript 기초 타입 정리 (0) | 2026.04.11 |
| JavaScript 한국어 조사 자동 선택 함수 (0) | 2026.02.10 |
| JavaScript 유틸리티 함수 - deepClone (0) | 2026.02.09 |
| JavaScript 숫자 포맷팅 (0) | 2026.02.06 |